您的位置:首页 > 编程语言 > Java开发

【Java】Java基础知识3. tip1~10

2015-02-05 16:20 211 查看
1.Java语言支持的8中基本数据类型是:

byte
short
int
long
float
double
boolean
char
String不是基本数据类型。java.lang.String类是final类型的,因此不可以继承,不能修改这个类。为提高效率节省空间,应使用StringBuffer类。

2.String与StringBuffer的区别

String            字符串常量
StringBuffer  字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)

String提供数值不可改变的字符串,String是不可变的对象。

StringBuffer类提供的字符串可以修改,主要使用的方法:append(将字符串添加到缓冲区的末端)和insert(在指定的点添加字符)

             关于String,StringBuilder以及StringBuffer,描述错误的是()

对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象
StringBuffer是线程安全
StringBuilder是线程安全
可以修改StringBuilder和StringBuffer的内容

             答案:C

             A,java中的字符串存储在字符串常量区不会改变,发生改变是会新创建一个对象
             B,StringBuffer是线程安全的StringBuilder
             C,StringBuilder跟StringBuffer功能相同,区别是StringBuilder不是线程安全的
             D,StringBuilder和StringBuffer底层都是以字符数组存放的,可以修改内容

用new创建的对象在堆区
函数中的临时变量栈区
java中的字符串在字符串常量区
 

定义有StringBuffer s1=new StringBuffer(10);s1.append(“1234”)则s1.length()和s1.capacity()分别是多少?

4      10

4000
4     4
10  10
10   4

答案:A
length 返回当前长度
如果字符串长度没有初始化长度大,capacity返回初始化的长度
如果append后的字符串长度超过初始化长度,capacity返回增长后的长度

3.int和Integer的区别

Java为八大基本数据类型提供了包装类。int是基本数据类型,Integer是对应的int型的包装类。就是把int类型包装成Object对象。

原始的基本数据类型   封装成的包装类

byte                                 Byte
short                               Short
int                                    Integer
long                                 Long
float                                 Float
double                             Double 
char                                Character
boolean                           Boolean
 
4.String a = new String("abc");创建了几个String Object对象?
两个,一个字符对象a,一个字符对象的引用变量"abc"。
 
5.List Set  vector Map 是否继承自Collection接口?List、vector和Set是。 Map不是
 
6.try{}里面有一个return语句,紧跟在try后面的finally{}里的coding会不会被执行,什么时候执行,在return前还是后?会被执行,在return前执行。
 

public boolean returnTest()
{
try
{
return true;
}
catch (Exception e)
{

}
finally
{
return false;
}
}

以下代码返回值是什么?

true
false 

答案:B  返回值是false,因为finally在return true前执行,执行finally的时候就renturn false了。

7.两个对象值相同(x.equals(y)==true),那x和y的hashcode相不相同?相同。
 
8.public、 protected、 friendly、 private的区别
                     当前类       同一package      子孙类      其他package
public              ○                        ○                  ○                      ○
protected        ○                        ○                  ○                      ×                      (protected子类没有在同一包中也可以访问)
friendly            ○                        ○                  ×                      ×
private             ○                        ×                  ×                      ×
 

缺省/无访问修饰符可以被同一包中的所有类访问,如果子类没有在同一个包中,也不能访问

类B从类A派生,则类B可以访问类A中的( )成员?

public成员
private成员
protected成员
数据成员
函数成员

答案:AC

9.java支持多继承么?
    java不支持多继承(extends),每个类都只能继承一个类,担一个类可以实现多个接口(implements)。
    形象的比喻,一个孩子多个父亲,不合理。但一个父亲可以多个孩子。就是一个父类可以有很多子类。
   
    类定义属性和方法,描述一类事物的抽象。
    接口定义的是行为,并不限制于任何具体意向。
    从逻辑上理解,单继承更明确,一个子类就应该是其父类的所代表的事物的某个更具体的类别。不应该是即使这个东西又是那个东西。
 
    而接口则不同,接口只定义一些公共行为。比如两个接口,一个定义跑这个动作,一个定义走这个动作,人这个类就可以同时实现跑和走这两个动作行为。
   
    类对接口的implements称作实现,不能叫做继承。
    当然,接口可以多继承接口,从语言上来说,接口对接口的继承称之为扩展更为合适。
 
10.进程和线程的区别
      进程是正在运行着的应用程序,是计算机中的程序关于某数据集合上的一次运行活动。
      线程是程序执行流的最小单元。是进程中执行程序的序列(程序片段)。
      进程和线程的差别:线程是指进程内的执行单元,也是进程内的可调度实体。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: