一:继承的特点
Java只支持单继承,不支持多继承,但支持多层继承。
单继承:一个子类只能继承一个父类。
不支持多继承:子类不能同时继承多个父类。
多层继承:子类A继承父类B,父类B可以继承父类C。
每一个类都直接或间接的继承于Object。
public class Test {
public static void main(String[] args) {
//利用空参构造创建子类对象
Zi z1 = new Zi();
//利用空参构造创建子类对象
//Zi z2 = new Zi("张三",23);
}
}
class Fu{
String name;
int age;
public Fu(){}
public Fu(String name,int age){
this.name = name;
this.age = age;
}
}
class Zi extends Fu {
//如果一个类中没有构造方法,虚拟机会自动给你添加一个默认的空参构造
}
二:子类能继承父类的哪些内容
错误的看法:误区1:父类私有的东西,子类就无法继承。
误区2:父类中非私有的成员,就被子类继承下来。
构造方法 |
非私有 不能 |
private 不能 |
成员变量 |
非私有 能 |
private 能 |
成员方法 |
虚方法表 能 |
否则不能 |
三:继承中成员变量的访问特点
采取就近原则:先在局部位置找,再到本类成员中找,父类成员位置找,逐级往上。
四:继承中成员方法的访问特点
1.直接调用满足就近原则,谁离我近,我就用谁。
2super调用,直接访问父类。
public class Test {
public static void main(String[] args){
Zi z = new Zi();
z.ZiShow();
}
}
class Fu{
String name = "Fu";
}
class Zi extends Fu{
String name = "Zi";
public void ZiShow(){
String name = "ZiShow";
System.out.println(name);//ZiShow
System.out.println(this.name);//Zi
System.out.println(super.name);//Fu
}
}