java基础面试

2020-01-08  本文已影响0人  刘仔大人

1、请解释。string类两种对象实例化的区别

*直接赋值:只会产生一个实例化对象,并且可以自动保存到对象池之中。 以实现该字符串实例的重用。

*构造方法: 会产生两个实例化对象,并且不会自动入池,无法实现对象重用。 但是可以利用intern()方法手工入池处理。

2、==与equals()的区别

*equals是类所提供的一个比较方法,可以直接进行字符串内容的比较。

*==进行的是数值比较,如果用于对象比较的是两个内存的地址。

3、

方法重载与方法覆写的区别

方法重载(Overloading):

1.方法名称相同,参数的类型或个数不同

2.方法重载对方法的权限没有要求

3.方法重载发生在一个类中

方法覆写:

1.方法名称、参数类型、返回值类型全部相同

2.被覆写的方法不能拥有比父类中的方法更高的权限,也不能拥有private权限

3.方法覆写发生在两个继承类中

4、super与this区别

如果子类中出现非私有的同名变量,要引用时:

(1) 访问父类中的同名变量,用super

(2) 访问子类本类中的变量,用this

如果子类重写方法时,要引用父类中的已经定义好的功能时,用super.方法

如果子类中的构造函数需要指定父类中其他构造函数进行初始化,使用super(参数)的形式

如果子类中的构造函数中,需要引用父类中已经定义好的方法,使用super(参数)

主要区别

super的使用基本与this一致,主要区别在于

super代表父类对象的引用

this代表本类对象的引用

5、final关键字的主要作用  ————————https://www.cnblogs.com/xiaoxi/p/6392154.html

*1、定义不能被继承的类

*2、定义不能被覆写的方法和常量

上一篇下一篇

猜你喜欢

热点阅读