Java基础知识点(面向对象继承的特点以及案例)

时间:2021-07-24 01:02:56

一:继承的特点

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  能

成员方法

虚方法表   能

否则不能

Java基础知识点(面向对象继承的特点以及案例)

三:继承中成员变量的访问特点

采取就近原则:先在局部位置找,再到本类成员中找,父类成员位置找,逐级往上。

四:继承中成员方法的访问特点

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

}
}

Java基础知识点(面向对象继承的特点以及案例)