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
- 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.进程和线程的区别
进程是正在运行着的应用程序,是计算机中的程序关于某数据集合上的一次运行活动。
线程是程序执行流的最小单元。是进程中执行程序的序列(程序片段)。
进程和线程的差别:线程是指进程内的执行单元,也是进程内的可调度实体。