extends继承
继承是多态的前提,如果没有继承就没有多态。
*共性抽取就是继承
父类(基类,超累)子类(派生类)
特点:子类可以拥有父类的“内容”子类可以拥有自己“内容”
访问成员方法的规则
1创建对象是谁就先用谁,如果没有往上找
2子类方法的返回值必须小于等于父类父类返回值
Object是所有类的父类
3子类方法权限必须大于或者等于父类方法权限
public>protected>(default)留空>private
继承关系在构造方法
1子类构造方法当中有一个默认的隐含的“super()”调用。所以一定先执行父类的构造方法
2子类必须通过super关键字调用父类方法
3super在调用时必须是第一个语句,子类构造方法不能多次调用super
4子类访问父类对象super.对象名称
子类访问父类方法super.父类方法名称
子类访问父类构造方法super();
super和this不能 同时用
抽象的方法
在父类中不确定方法体实现
抽象方法必须写在抽象类中
public abstract class
public class abstract01 extends abstract1{ @Override public void eat() { } }
继承是多态的前提,如果没有继承就没有多态。
*共性抽取就是继承
父类(基类,超累)子类(派生类)
特点:子类可以拥有父类的“内容”子类可以拥有自己“内容”
访问成员方法的规则
1创建对象是谁就先用谁,如果没有往上找
2子类方法的返回值必须小于等于父类父类返回值
Object是所有类的父类
3子类方法权限必须大于或者等于父类方法权限
public>protected>(default)留空>private
继承关系在构造方法
1子类构造方法当中有一个默认的隐含的“super()”调用。所以一定先执行父类的构造方法
2子类必须通过super关键字调用父类方法
3super在调用时必须是第一个语句,子类构造方法不能多次调用super
4子类访问父类对象super.对象名称
子类访问父类方法super.父类方法名称
子类访问父类构造方法super();
super和this不能 同时用
抽象的方法
在父类中不确定方法体实现
抽象方法必须写在抽象类中
public abstract class
public class abstract01 extends abstract1{ @Override public void eat() { } }