201个核心Java面试汇总

来源:互联网 发布:小学生绘画软件 编辑:程序博客网 时间:2024/05/29 14:50

84.Java的String不变是什么意思?不变就是一旦String被创建,它的值无法被修改。

85.为什么Java的String不可改变?

  • 因为Java使用了字符串的概念。假设有5个reference variable指向“asdf”,那么一旦其中一个reference variable改变了String的值,那么其它的reference variable都会受到影响。

86.几种方法来创建String对象?

  • 两种。字符串和new。

87.下面代码会创建几个对象?1个(字符串的概念)

String s1="Welcome";
String s2="Welcome";
String s3="Welcome";

88.为什么Java使用字符串的概念?

  • 为了内存的利用效率更高,对于相同的对象,JVM只在Heap的String constant pool中创建一个对象。

89.下面的代码会创建几个对象?两个,都在Heap(普通区)

String s = new String("Welcome");  

90.String和Stringbuffer的区别?

  • String是不可变的,stringbuffer是可变的。

91.StringBuffer和StringBuilder的区别?

  • StringBuffer是同步的,StringBuilder不是同步的。

92.如何创建final class?class上加final,字段上也加final。

public final class Employee{  final String pancardNumber;  public Employee(String pancardNumber){  this.pancardNumber=pancardNumber;  }  public String getPancardNumber(){  return pancardNumber;  }  } 

93.Java中toString()方法有什么用?

  • 可以打印出对象的字符串表示,任何时候当我们print一个对象的时候,编译器都会自动调用toString()。我们也可以通过重写toString()来得到我们想要的return type。默认返回的是hashcode。

Nested classes and Interfaces

94.什么是嵌套类?

  • 就是一个类在其它的class或者接口内部declare的叫做嵌套类。嵌套类有4种类型。
0 0
原创粉丝点击