8.继承

本文围绕Java中的继承展开,介绍了继承的概念,即子类可拥有父类属性和方法,还阐述了继承的语法,强调Java类层次上只支持单继承。同时,讲解了方法重写和重载的区别,以及在子类中调用父类方法的方式,最后说明了子类对象的构建过程和Object类的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

继承:

1.什么是继承

类和类之间的关系,被继承的类称为父类(super Class),继承父类的类称为子类
父类:又称超类/基类/元类/祖先类/上层类
子类:又称后代类/继承类

对于父类所有的东西(属性/方法),子类都可以拥有

2.继承的语法

父类语法:

public class A{

}

子类语法:

public class B extends A{

}

3.

注意:

  • extends表示继承
  • java在类层次上只支持单继承------即一个类只能有一个直接父类
  • 父类的属性和方法,子类都拥有,但是不一定能使用.
    父类的私有属性,子类不能直接访问
  • 构造方法不能继承,
  • 如果子类自定义了和父类重名的属性,会直接覆盖,重名的方法可能覆盖,可能重载
  • 一个类可以有很多子类
  • 子类之间的关系是兄弟关系,互不干涉也无法继承
  • 对于父类的私有属性,子类拥有但是不能直接访问,可以使用继承下来的父类中公有的访问器方法访问

继承的本质:
提高类和类之间的代码复用性

※※※辟谣!!!

  • 子类只能继承父类所有非private的属性和方法---------------错误!!!
  • 构建子类的对象的时候先执行父类的构造方法-------------错误!!!
  • java是一种堆栈结构--------错误!!!

4.方法的重写(子类方法对于父类方法的重新实现)

注意:

  • 1)如果子类不重写父类方法,子类对象直接使用父类的方法
  • 2)如果子类重写父类方法,子类对象使用重写后的方法
  • 3)重写方法的过程中,方法名和参数列表不允许修改,访问限定符的范围允许放大

5.重写和重载的区别※※※

1)重写只能发生在两个类之间,重载可以在一个类的内部
2)重写是对父类方法的重新实现,父类方法在子类对象中无法调用,重载是对方法的延伸实现,使方法更具多样性
3)@Override注释(注解),方法重写的标志,一般对于重写的方法需要在方法上添加,如果不添加也可以,但不规范
4)重写的方法和原方法的方法名以及参数列表完全一致;重载要求方法名一致,参数列表不一致

6.在子类中调用父类的方法:

父类中的方法是普通的方法,该方法的调用需要使用父类的对象进行调用
用super来调用父类的方法

  • super类似于this,表示当前对象所继承的父类对象的引用
  • super负责在子类重写父类的方法的时候调用父类的方法

7.关于子类对象的构建过程(面试)※※※

  • 第一步:先执行子类的构造方法
  • 第二步:在子类构造方法的第一行跳转到父类的构造方法开始执行
    隐式的调用super();------>代表父类的构造方法,只能写在子类构造方法的第一行,也可以不写,但是不写默认也会生成
  • 第三步:父类的构造方法执行完毕之后,回到子类的构造方法继续执行
  • 第四步:子类的构造方法完成之后,子类的对象构建完毕

继承的本质:在构建子类对象的过程中完整的执行了父类的构造方法,意味着在此过程中构建了一个父类的对象,在执行子类构造的过程中,父类的对象被拆分,父类的属性和方法拼接生成子类的对象

8.Object

Object是java设计者提供的一个类,该类是除了自身之外其他所有类的父类
如果一个类extends指定了父类,Object是当前类的间接父类
如果一个类没有指定父类,Object是当前类的直接父类
ctrl+shift+t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值