Java当中的继承、多态和接口

一、继承
1、基本格式:
class 子类 extends 父类 {

}
注意事项:
(1)使用 extends 指定父类
(2)Java 中 (而C++/Python等语言支持多继承)
(3)子类会继承父类除了构造方外的所有东西
(4)对于父类的 private 的字段和方法,子类中是无法访问的
(5)子类的实例中,也包含着父类的实例.。可以使用 super 关键字得到父类实例的引用
(6)子类如果要实例化,那么首先要实例化父类

2、super关键字的使用(super关键字代表父类对象的引用)
(1)super() 代表调用父类的构造方法
(2)super.data 代表调用父类的成员变量
(3)super.func() 代表调用父类的成员方法

二、多态
1、发生多态的前提
(1)发生向上转型(父类引用 引用子类对象)
(2)子类和父类有同名的覆盖方法
(3)通过父类的引用调用重写的方法

2、什么是向上转型?
向上转型就是通过父类引用引用子类对象
在这里插入图片描述
图片当中 animal就是父类引用了子类对象

3、向上转型的三种形式
(1)直接转型
(2)通过传参转型
(3)通过返回值转型

4、什么是重写?
方法名相同;参数相同(参数长度和参数类型);返回值尽量和父类的相同(特殊情况除外)
注意事项:子类重写父类方法时,子类的访问修饰限定符不得小于父类的访问修饰限定符

5、使用多态的好处
(1)类调用者对类的使用成本进一步降低
(2)能够降低代码的 “圈复杂度”,避免使用大量的 if - else
(3)可扩展能力更强

三、接口
1、抽象类
包含抽象方法的类,我们把它叫做抽象类
2、抽象方法的格式
在这里插入图片描述
抽象类的注意事项:
1、用关键字abstract进行修饰
2、在抽象类当中可以有普通类的所有属性或者方法
3、和普通的类不一样的地方就是包含了抽象方法。
4、和普通的类不一样的地方就是他不能够被实例化
5、抽象类的主要作用是用来被继承的
6、抽象类就是用来被继承的 所以不能被final所修饰
7、抽象方法不能是私有的或者是static
8、只要有一个类,继承了这个抽象类 那么 必须要重写抽象类当中的方法
9、如果这个类,不想重写抽象类里面的抽象方法

2、接口
接口是抽象类的更进一步,抽象类中还可以包含非抽象方法和字段,而接口中包含的方法都是抽象方法,字段只能包含静态常量
(1)接口的格式
在这里插入图片描述
接口的注意事项:
1、interface关键字修饰
2、里面的数据成员必须是一个常量 如:public static final int a = 10;
3、里面的成员方法是默认为:public abstract
4、在接口当中不能够定义一个已经实现的方法。
5、JDK1.8新特性:接口当中可以有实现的方法,但是这个方法一定是被default修饰的
6、类和接口的关系:实现用关键字implements,一个类可以实现多个接口
7、解决了java当中单继承的问题,可以变为多继承
8、实现了该接口,一定要重写该接口当中的方法
9、接口仍然是不可以被实例化的
10、实现该接口的重写方法的时候,一定不能够省略public

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值