继承:
利用了一个类可以吸收一个现有的类的全部功能,并且可以增加新的功能
及其成员变量(Field),来达到不改变原设计的基础上进行功能扩展
计算机语言中:
先编写父类类型,在编写子类型,然后再有对象。
如: 先编写Animal类型
再编写 Dog类或Cat类型 继承父类的成员变量和方法
再使用数据时,要么创建Dog对象/Cat对象
子类可以从父类中继承一些成员变量,和方法。子类还可以添加自己的
独有成员变量和方法。
子类:也叫派生类
父类:也叫超类,基类
关键字extends,用于继承语法
格式:
public class subClass extends SuperClass{
}
继承中的构造器:
子类不能继承父类的构造器,但是,子类中的构造器可以调用
父类的构造器
语法: super(有参传参);
作用:可以更好的给继承过来的成员变量赋值
PS:子类中的构造器一定会有一个调用了父类的构造器()
父类中如果没有无参构造器,子类需要显式调用父类构造器
如果父类中有无参构造器,子类中的构造器可能隐式调用
了父类的无参构造器.即:隐藏了super()
super()与this()的区别
相同点:都是调用构造器,而且必须放在首行首句。
不同点:super()是调用父类的构造器
this()是调用本类中其他构造器
继承的传递性:
继承特征有传递特性,B类型继承了A类型的特征,C类型继承了
B类型的特征。C类型也间接继承了A类型的特征
继承的单一继承: 一个子类只能继承一个父类。但是一个父类可以有
多个子类 (1.8)版本以上支持多继承
练习:
设计一个动物类型Animal
int age
设计一个鱼类型Fish
boolean isWater
设计金鱼GoldFish类型,
String color;
鲨鱼Shark类型,
int size
娃娃鱼BabyFish类型
int size
String name
分别创建对象,进行测试
【
一个源文件中,只能有一个public修饰的类,而且此类必须与文件名一致。
其他类可以不用修饰词
main也需要在public修饰的类中,才能生效。
】