第二章 继承
1.继承(代码复用)
extends关键字用来继承
public class Dog extends Pet { // 子类 父类 super(name);//调用父类的构造方法,从而进行赋值 }
父类和子类是 is-a(是一个)几乎一样
还有一个是 is-like(想一个)相像
2. super关键字
-
用 super()调用构造方法的时候
若调用父类有参方法,则用有参;若没有调用,则系统自动调用无参
-
在构造方法中super 和 this调用构造方法的规则
1.不能放在同一个构造方法中,因为都必须放在构造方法的第一行
2.普通方法可以,不要求
3.方法重写(父类与子类之间)
方法名、参数列表、返回类型(或其子类)相同,访问修饰符不能严于父类
(基本一样)
4. abstract 抽象(只能修饰类和方法)
-
抽象类无法实例化
-
抽象方法无代码块
-
抽象类中,抽象方法可以有一个、也可以有多个、也可以没有
-
若父类为抽象类并有抽象方法,子类强制调用抽象方法
5. final修饰符(不能修饰构造方法,类、属性、方法都可以)
-
被final修饰的类不能被继承(不允许再有子类)
-
被final修饰的方法不能被重写
-
被final修饰的属性不能被赋值(常量)