201个核心Java面试汇总

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值