继承的概念
继承主要解决的问题就是:共性抽取
继承关系中特点:
1、子类可以拥有父类的“内容”
2、子类还可以拥有自己专有的内容
继承关系的特点
1、可以多级继承
2、父类可以有多个子类,但是子类的直接父类只有一个
继承的格式
父类就是一个普通的类
public class Fu{
}
子类
public clsaa Zi extends Fu{
}
备注:如果父子类成员变量重名,在创建子类对象时,访问规则:
1、创建子类对象直接访问成员变量
创建的谁的对象,就像访问谁的成员变量,如果没有,再向上找(例如,如果创建的是子类的对象,那么优先访问子类的成员变量,如果子类没有,去父类找)
2、间接通过成员方法访问成员变量
该方法属于谁,就有限使用谁的成员变量(例如:子类调用了父类的方法,那么父类方法中的成员变量优先使用自己的)
继承关系中成员变量访问
局部变量 直接写
本类的成员变量 this.成员变量
父类的成员变量 super.成员变量
public class Fu{
int num=10;
}
public class Zi extends Fu{
int num=20;
public void method(){
int num=30;//局部变量
System.out.println(num);//30,局部变量
System.out.println(this.num);//20 本类的成员变量
System.out.println(super.num);// 10 父类的成员变量
}
}
继承关系中成员方法访问
子类父类成员方法重名
public class Fu{
public void method(){
}
}
public class Zi{
public void method(){
}
}
同样的,对于子父类重名的成员方法,创建的对象是谁,就优先调用谁的成员方法。如果没有向上找父类的。