java面试宝典及答案

1一个Java源文件是否可以多个类,不是内部类,有什么限制?
答:可以包含多个类,但是不是与文件名一致的类,不可以用Public修饰
2java有没有goto?
答:有goto,但是Java的Goto是保留字,保留字的意思是不排除以后会使用,变成关键字,java有如下保留字:byValue, cast, future, generic, inner, operator, outer, rest, var , goto ,const
3说说&和&&的区别?
答:逻辑与的运算符 &&有短路的效果
4char型变量中能不能存储一个中文汉字,为什么?

5面向对象的特征有哪些方面?

答:抽象,

      继承:派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

    封装

    多态:重写,重载

6:String是最基本的数据类型吗

答:不是。java中只有八种基本类型byte short int double float char boolean long

java.long.String 是final类型的,因此不能继承和修改这个类

7:int和Integer的区别

答:Integer是int的包装类,Integer默认值是null,而int默认值是0;

 public static void main(String[] args) {
13         int i = 128;
14         Integer i2 = 128;
15         Integer i3 = new Integer(128);
16         //Integer会自动拆箱为int,所以为true
17         System.out.println(i == i2);
18         System.out.println(i == i3);
19         System.out.println("**************");
20         Integer i5 = 127;//java在编译的时候,被翻译成-> Integer i5 = Integer.valueOf(127);
21         Integer i6 = 127;
22         System.out.println(i5 == i6);//true
23         /*Integer i5 = 128;
24         Integer i6 = 128;
25         System.out.println(i5 == i6);//false
26 */        Integer ii5 = new Integer(127);
27         System.out.println(i5 == ii5); //false
28         Integer i7 = new Integer(128);
29         Integer i8 = new Integer(123);
30         System.out.println(i7 == i8);  //false
31     }
32 
为什么还要提供包装类呢

是为了在各种类之间转换

String valueOf = String.valueOf(123456);

8:String和StringBuffer的区别

String类对象为不可变对象,一旦修改了String对象的值,隐性重新创建了一个String对象,释放原String对象,StringBuffer对象为可修改对象可以通过append方法来修改值

String是final来修饰的


9:getFields()获得某个类的所有的公共(public)的字段,包括父类。 

getDeclaredFields()获得某个类的所有申明的字段,即包括public、private和proteced,但是不包括父类的申明字段。 

你可能感兴趣的:(java面试宝典及答案)