【JAVA】面向对象八股文

1. 什么是对象?什么是类?类和对象的关系?
(1)一切客观存在的东西就是对象。
(2)类是对具有相同特征的对象的抽象或集合。
(3)对象是类的实例,类是对象的抽象。
2. 什么是构造方法?构造方法的作用是什么?构造方法有哪些特征?
(1) 构造方法的作用是初始化对象的属性。
(2)特征:名字和类完全相同,没有返回类型,经常重载。
3. 什么引用?引用和对象一样吗?
(1)引用是对象的别名。
(2)引用不等于对象。
4. 什么是this,this常见的用法有哪些?
(1)this指调用当前方法,属性的那个对象。
(2)this只能出现在成员方法或者构造方法中。
(3)三种用法:调用其他构造方法,调用属性,调用成员方法。
5. 什么是封装?封装好处是什么?
(1)类就是一个封装体,封装了属性和方法。
(2)封装的好处:隐藏实现的细节,对外提供统一的借口。
              提供程序安全性和健壮性。
6. ==与equals的区别?
(1)==两边都是基本数据类型时,判断值是否相等,如: 100 == 100。
(2)==两边都是引用类型时,判断是否是同一个对象,如:p1 == p2。
(3)equals用来判断两个对象的内容是否相同。通常需要重写equals。
(4)重点:凡是new出来的就是不同的对象。
7. 什么继承?继承的好处是什么?
(1)子类可以继承父类的属性和成员方法。
(2)继承的好处:提高代码的复用性。
8. 什么是多态?发生多态要满足哪些条件?
(1)多态:同一种行为发生在不同对象上有不同的表现方式,称为多态。
(2)发生多态要满足的条件:
    一定要有继承
    一定要方法重写
    父类引用指向子类对象
     
9. 方法重写与方法重载的区别是什么?
(1)方法重写:子类重写了从父类继承过来的方法,参数类型,个数,顺序都必须相同。
(2)方法重载:方法名字相同,参数的类型,个数,次序不同都构成方法重载,与返回值类型不同。
(3)方法重载(Overload):在一个类中。
    方法重写(Override/Overwrite):父子类中。
10. 抽象类和接口的区别是什么?
(1)抽象类描述了事物的本质,接口描述了事物的功能。
     xxx is a xxx,  xxx has a xxx.
(2)属性放到构造器初始化最合适。
(3)抽象类不能实例化,接口不能实例化但是可以有实现类。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值