目录
七、接口是否能继承接口,抽象类是否可实现接口,抽象类是否可继承实现类
八、abstract方法是否能是静态的,能否是synchronized
九、try中有return时finally会不会执行,何时执行
十五、从变量、构造方法、方法的角度,阐述抽象类和接口的区别?
一、接口和抽象类区别
抽象类:用abstract修饰,可以有普通方法和抽象方法,可以有变量,可以有构造方法,单继承
接口:用interface修饰,所有方法都是抽象方法,只能有final static修饰的全局常量,无构造方法,多实现
共同点:都不能通过new实例化对象
二、构造方法能否被重写
不能,子类和父类类名不同,而构造器和类名是同名的,故构造器不能继承,由于不能继承,故不能重写
三、==和equals的区别
基本数据类型:= =比较两者值是否相同
引用数据类型:= =比较两者地址是否相同,equals比较二者值是否相同,在比较引用数据类型时,通常需要重写equals方法
四、拆箱和装箱
装箱:基本数据类型转换成包装类
拆箱:包装类转换成基本数据类型
五、重载和重写需要满足的条件
重载:同一个类中,方法名相同,参数不同
重写:子类继承父类中的方法,方法名,返回值类型,参数均相同,修饰权限不能低于父类
六、final,finally,finalize的区别
final是定义类,方法,变量的关键字,定义类时不能被继承,定义方法时不能重写,定义变量时为常量
finally是异常处理的一个关键字,表示内容一定会执行
finalize是Object的一个类,垃圾回收器执行时起作用