问:
1 面向对象的特征有哪些方面?
2 访问修饰符public,private,protected,以及不写(默认)时的区别?
3 String 是最基本的数据类型吗? 对象类型 基本类型
4 float f=3.4;是否正确?
5 short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?
6 Java有没有goto?
7 int和Integer有什么区别?
8 &和&&的区别? if( a>6 && a<100 )
9 switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?
10 用最有效率的方法计算2乘以8?
11 数组有没有length()方法?String有没有length()方法?
12 在Java中,如何跳出当前的多重嵌套循环?
13、构造器(constructor)是否可被重写(override)?
14、是否可以继承String类?
15、String和StringBuilder、StringBuffer的区别?
16、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?
17、char 型变量中能不能存贮一个中文汉字,为什么?
18、抽象类(abstract class)和接口(interface)有什么异同?
19、抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被synchronized修饰? 是否能使final修饰的?
20、阐述静态变量和实例变量的区别。
21、是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?
22、接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?
23、一个".java"源文件中是否可以包含多个类(不是内部类)?有什么限制?
24、Java 中的final关键字有哪些用法?
25、Error和Exception有什么区别?
26、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行,在return前还是后?
27、Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别如何使用?
28、运行时异常和受检异常有什么区别?
29、列举一些常见的运行时异常?
30、final 和 finally finalize的区别?
答:
1:面向对象的特征有:继承、多态、封装;Java中面向对象的特征有:继承、多态、封装、抽象、接口等。
2:访问修饰符public、private、protected、以及不写时默认default的区别:作用域的不同(参考下表)
当前类 | 当前包 | 当前子类 | 其他包 | ||
public | √ | √ | √ | √ | |
protected | √ | √ | √ | ||
default | √ | √ | |||
private | √ |
3:Java中String不是基本数据累i系那个,属于对象类型,是object的子类。
4:Float f = 3.4; 不正确,编译器会报强制类型转换的错误,3.4默认的是Double类型而不是单精度浮点型float,float声明的时候需要在后面加F。
5:Short s1 = 1; s1 = s1 + 1;编译器会报强制类型转换的错误:int类型不能转换为short;s1 = s1 + 1;等式右边会发生类型的自动提升,转换才int,int不能隐式类型转换为short,故报错;short s1 = 1; s1 += 1;编译器正常运行,+=是Java中的运算符,s1 += 1在运行的时候会默认进行隐式类型转换,等于s1 = (short)(s1 + 1);故不报错。
6:Java中goto是保留字,但是没有使用。
7:int是Java提供的8中基本数据类型之一。Java为每个基本数据类型提供了封装类,integer是Java为int提供的封装类。int的默认是是0;而integer的默认值是null,即integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况。
8:&和&&都可用于逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式结果都为True时,整个运算结果才为True,如果有一方为False,则运算结果为False;&&还有短路的功能,如果第一个表达式结果为False,则第二个表达式不再运算,运算结果为False;&主要用于位运算;例如:If(a>6&&y++),a>6为False时,运算结果为False,y不会++;If(a>5&y++),a>6为False时还需判断y++是否为False,此时会报错,布尔值无法和int类型比较。
9:switch能作用在byte上,不能作用在long 和String 上。
10:2<<3
11: