Java面试通关要点汇总集--基础篇

1.面向对象的基本特征

封装:将客观事物抽象成类,从而达到对数据的控制。(那些信息可开放给外部,那些信息只允许自己使用)

继承:子类可以使用父类所有的功能,并且可以在不改变父类的基础上进行功能扩展。

多态:多态的实现是通过重写来实现,当子类重写父类的方法后,父类指针根据不同子类赋给它的指针,动态调用子类的方法。

2.finally、final、finalize的区别

final是一种修饰符:修饰的变量值不可变,修饰的方法不可被重写,修饰的类不可被继承。

finalize是一个方法,属于Object类。子类可以重写其方法实现资源清理,GC在回收对象之前会调用此方法。

finally用于释放一些系统资源,无论try块中是否发生异常,finally里的动作永远都会执行。

3.重载与重写的区别

a.重载是在编译期绑定的,重写是在运行期绑定的是动态的。

b.重写是发生在父子类之间的场景,重载则是发生本类当中。

c.重载与返回值无关,根据方法参数列表来判定(参数类型,参数个数,参数顺序)。

d.重写返回值、方法名、参数列表都与父类一致。

4.抽象类与接口的区别

a.抽象类可以有具体的实现方法,接口的方法不能有具体的实现。

b.接口的方法默认都是public类型,抽象类方法可以有private、protected。

c.接口属性必须是static并且是final。

d.抽象类可以有构造器,接口没有构造器。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值