面向对象 面试题16道(附答案)

面向对象 面试题16道(附答案)1. 接口与抽象类的区别?2. 构造方法可否能被重写?3. (= =)与equals()的区别?4. 什么是拆箱和装箱?5. 方法重载(overload)需要满足什么条件,方法覆盖/方法重写(override)需要满足什么条件?6. 谈谈final,finally,finalize的区别。7. abstract的method是否可同时是static,是否可同时是synchronized?8. 接口是否可继承接口?抽象类是否可实现(implements)接口?实现类是否可继承抽
摘要由CSDN通过智能技术生成

1. 接口与抽象类的区别?

  1. 抽象类:使用sbstract修饰
    接口:使用interface

  2. 抽象类:可以有抽象方法和普通方法,抽象方法的类一定是抽象类
    接口:jdk1.7之前只能有抽象方法,在jdk1.8之后 可以有default、static修饰的方法

  3. 抽象类:可以有普通的属性(变量 常量等等)
    接口:只能用常量

  4. 抽象类:通过普通类继承抽象类{}实现
    接口:通过类implements接口{}实现

注意:他们都不能实例化,不能通过new关键字创建
但可以使用内部类实现抽象类和接口

  1. 抽象类:可以有构造方法
    接口:没有构造方法

  2. 抽象类:只能单继承
    接口:可以多继承 也可以多实现

2. 构造方法可否能被重写?

​ 不能:

比如class A{public name public age} class B extends A{public sex}
//发生错误

​ 构造方法:

  1. 给类中的属性赋值 继承关系中子类除了继承父类的属性之外,还可以扩展自己的属性

  2. 可以重载或者在子类中用 super()调用父类的构造方法

3. (= =)与equals()的区别?

​ ==:

基本数据类型:比较数值是否相等
引用数据类型 :在电脑中的地址 String 基本数据类型的包装类

​ equals():

​ 没有重写:比较两个对象的地址是否相等

​ public boolean equals(Object obj){

​ return (this==obj);

​ }

​ 重写:

​ public boolean equals(Object obj){

​ 需要的数据类型 变量名=(需要的数据类型)obj

​ 需要的数据类型中的变量值比较是否相等

​ }

4. 什么是拆箱和装箱?

​ 装箱:基本数据类型转换成包装类:基本数据类型直接赋值给对应的包装类型

​ Integer a=43;

​ int t=34;

​ Integer t1=t;

​ Integer in=new Integer(t)

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

​ Integer a=45;

​ int t=a.intvalue();

​ String----基本数据类型

​ Integer integer=new Integer(String类型数字)

​ int t = integer.intvalue()

​ 基本数据类型-String

​ int a=45;

​ String s=""+

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值