面向对象的常见面试题

本文详细讨论了面向对象的一些关键概念,包括接口与抽象类的区别、构造方法的特性、==与equals的区别、拆箱与装箱的操作、重载与重写的条件,以及final、finally、finalize的用法等。此外,还涵盖了对象持久化、静态变量与实例变量、int与Integer的差异,以及抽象类与接口在变量、构造方法、方法上的差异。
摘要由CSDN通过智能技术生成

目录

一、接口和抽象类区别

二、构造方法能否被重写

三、==和equals的区别

四、拆箱和装箱

五、重载和重写需要满足的条件

六、final,finally,finalize的区别

七、接口是否能继承接口,抽象类是否可实现接口,抽象类是否可继承实现类

八、abstract方法是否能是静态的,能否是synchronized

九、try中有return时finally会不会执行,何时执行

十、面向对象特征

十一、int和Integer的区别

十二、静态变量和实例变量

十三、对象持久化的含义,为何要对象持久化

十四、final的用处

十五、从变量、构造方法、方法的角度,阐述抽象类和接口的区别?


一、接口和抽象类区别

抽象类:用abstract修饰,可以有普通方法和抽象方法,可以有变量,可以有构造方法,单继承
接口:用interface修饰,所有方法都是抽象方法,只能有final static修饰的全局常量,无构造方法,多实现
共同点:都不能通过new实例化对象

二、构造方法能否被重写

不能,子类和父类类名不同,而构造器和类名是同名的,故构造器不能继承,由于不能继承,故不能重写

三、==和equals的区别

基本数据类型:= =比较两者值是否相同
引用数据类型:= =比较两者地址是否相同,equals比较二者值是否相同,在比较引用数据类型时,通常需要重写equals方法

四、拆箱和装箱

装箱:基本数据类型转换成包装类
拆箱:包装类转换成基本数据类型

五、重载和重写需要满足的条件

重载:同一个类中,方法名相同,参数不同
重写:子类继承父类中的方法,方法名,返回值类型,参数均相同,修饰权限不能低于父类

六、final,finally,finalize的区别

final是定义类,方法,变量的关键字,定义类时不能被继承,定义方法时不能重写,定义变量时为常量
finally是异常处理的一个关键字,表示内容一定会执行
finalize是Object的一个类,垃圾回收器执行时起作用

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值