java继承
继承是多态的前提,继承主要解决的问题是:对事物共性的抽取。
特点:
1.子类可拥有父类的内容,也可以拥有自己专用的内容。
2.在继承的关系中,“子类就是一个父类”,子类可以被当作是父类看待。
例如:父类是员工类,子类是老师类,那么讲师就是一个员工。
成员变量:
子类与父类不重名:子类直接继承,子类对象可直接引用
子类与父类重名:
1.直接通过子类对象访问成员变量:等号左边是谁,就用谁的,没有则向上找;即:创建子类对象时,等号左边的对象类型。
2.间接通过成员方法访问成员变量:该方法属于谁,没有则向上找。
区分:
局部变量:直接写
本类成员变量:this.成员变量名
父类成员变量:super.成员变量
在父子类的继承关系中,创建子类对象,访问成员方法规则:
创建对象是谁,就优先使用谁,如果没用则向上找,即:new()的对象是谁,就是调用谁。(以下为实例)
public class Fu {
int num=20;
public Fu(){
System.out.println("这是父类的构造方法");
}
public void method(){
System.out.println("父类方法执行啦");
}
}
public class Zi extends Fu {
int num=10;
public Zi(){
System.out.println("这是子类构造方法");
}
public void method(){
System.out.println("子类构造方法执行啦");
}
}
public class extendPractice {
public static void main(String[] args) {
Fu fu=new Zi();
System.out.println("===========");
Zi zi=new Zi();
}
}
运行结果:
这是父类的构造方法 //等号左边是new Zi()
这是子类构造方法
===========
这是父类的构造方法 //等号左边是new Zi()
这是子类构造方法