Java-oop-第二章 继承

Ch02 继承

Super 关键词
修饰符 class 子类 extends 父类{ };
构造方法不能被继承,因此不能被重写。
super关键字来访问父类的成员
Super只能出现在子类的方法和构造方法中
super调用构造方法时,只能是第一句
Super不能访问父类的private成员

在子类中可以根据需求对从父类继承的方法进行重新编写,
称为方法的重写或方法的覆盖(overriding)。

方法重写的规则:
1.方法名相同
2.参数列表相同
3.返回值类型相同或者是其子类
4.访问权限不能严于父类

注意:

  • 1.在构造方法中如果有this语句或super语句出现,则只能是第一条语句。
  • 2.在一个构造方法中不允许同时出现使用this和super语句调用构造方法 (否则就有两条第一语句)
  • 3.在类方法中不允许出现this和super 关键字。
  • 4.在实例方法中,this和super语句不要求是第一语句,可以共存。

在这里插入图片描述

抽象类(abStract)
抽象类和抽象方法的特点如下:

  • 1.抽象类和抽象方法都是通过abstract关键字来修饰。
  • 2.抽象类不能实例化。抽象类中可以没有,有一个或有多个抽象方法,甚 至全部方法都可以是抽象方法。
  • 3.抽象方法只有方法声明,没有方法实现。有抽象方法的类必须声明为抽 象类。子类必须重写所有的抽象方法才能实例化,否则子类还是一个抽 象类。
  • abstract可以用来修饰类和方法,但是不能用来修饰属性和构造方法。

本章总结

  • 1.继承时Java中实现代重用的重要手段之一。Java中只支持单继承,既一个类只能有一个直接父类,java.lang.Object类是所有java类的祖先。
  • 2.在子类中可以根据实际需求对从父类继承的方法进行重新编写,称为方法的重写或者覆盖。
  • 3.子类中重写的方法和父类中被重写的方法必须具有相同的方法名,参数列表,返回值类型必须和重写方法的返回值类型相同或者是其子类。
  • 4.如果子类的构造方法中没有通过super显式调用父类的有参构造方法,也没有通过this显示调用自身的其他构造方法,则系统会默认优先调用父类的无参构造方法。
  • 5.抽象类不能实例化。抽象类中可以有零到多个抽象方法。非抽象类若继承抽象类,则必须重写父类的所有抽象方法。
  • 6.子类必须重写父类所有的抽象方法才能实例化,否则子类还是一个抽象类。
  • 7.用final修饰的类,不能再被继承。用final修饰的方法,不能被子类重写。用final修饰的变量将变成常量,只能在初始化时进行赋值,不能在其他地方修改。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值