第四章 类之间的关系

类之间的关系:继承性和多态性
5.1 继承性
1.为什么继承?
多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类中元素再定义这些属性和行为,只要继承那个类即可。
此处的多个类称为子类,单独的这个类称为父类(基类或超类)
语法:class Subclass extends superclass{
}
2.作用:1)继承的出现提高了代码的复用性;
2)继承的出现让类与类之间产生关系,提供了多态的前提;
3) 不要仅为了获取其他类中某个功能而去继承;
3.特点:单一继承
多层继承 传递性
1)父类有些成员不让子类使用 —— 设为私有private
2)子类扩展自己的属性 —— 扩展
3)父类某些成员不适合自己——重新新的数据和方法
5.2 多态性
1.多态性是面向对象中最重要的概念,java中有两种体现:
1)方法的重载和重写
2)对象的多态性——可以直接应用在抽象类和接口上
2.实现多态性的步骤:1)继承性;2)方法重写;3)父类对象指向子类 实例 ;
java引用变量有两个类型:编译时类型和运行时类型
编译时类型由声明该变量时使用的类型决定;运行时类型由实际赋给该变量的对象决定。
若编译时类型和运行时类型不一致,就出现多态。
注意:父类的数据类型不能强制转换子类;
兄弟类之间数据类型不能转换。
3.对象的多态 一 在Java中, 子类的对象可以替代父类的对象使用。
➢一个变量只能有一种确定的数据类型。
➢一个引用类型变量可能指向(引用)多种不同类型的对象。
子类可看做是特殊的父类,所以父类类型的引用可以指向子类的对象:向上转型(upcasting)。
4.一个引用类型变量如果声明为父类的类型,但实际引用的是子类对象,那么该变量就不能再访问子类中添加的属性和方法。
在java中,子类对象可以替代父类对象
前提:需要有继承或实现关系;
要有覆盖操作。

猜你喜欢

转载自blog.csdn.net/weixin_45802395/article/details/103359020