Java基础2

1、构造器是否可以被重写?
不可以,构造器不能被继承,所以不能被重写,但是可以被重载
2、HashCode的作用与equal有什么区别
都是鉴定两个对象是否相等
如果用euqal去比较,若存在10000个元素,那么你插入一个元素你就要调用10000次equal去比较是否是同一个对象,大大降低了效率。
hashcode实际上比较的是返回对象的存储地址,如果这个位置上没有元素,那么就直接存储,如果已经存在元素,那么就会调用equal方法
与新元素进行比较,相同的话就不存,不相同就散列在其他地址上
3、String类是否可以被继承
不可以,它是一个fianl类
4、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并返回变化的结果,那么这里到底是值传递还是引用传递?
Java当中只有值传递参数,当一个对象实例作为一个参数被传递到方法时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在调用的时候被改变,但对象的引用是永远不会改变的
5、String,StringBuilder和StringBuffer的区别
共同点:都可以存储和操作字符串
不同点:
String不可变,它是一个只读字符串,另外两个可以对字符串进行修改
String和StringBuiler是线程不安全的,而StringBuffer是线程安全的,有被synchronized修饰,可以实现同步
Stringbuilder是在单线程环境下使用的,效率高于StringBuffer

posted @ 2020-11-02 10:15  走过路过哭过  阅读(96)  评论(0)    收藏  举报