1 为什么要使用继承?

java supertype 父类 java父类子类怎么写_父类

    为了提取两个类中公共的代码,可以使用继承抽取重复性的代码到一个公共类中,这个公共的类称为父类(super class)。继承于父类的类称为子类(sub class).

java继承的特性

[1] 单根性。在java中,一个类只能有一个直接父类。

[2] 传递性。C继承于B,B继承于A,C具有A的特性和行为。

对于继承,在代码中用  extends表示。写法:修饰词+class+父类+extends+子类(){  }    列如:public class Student extends Person( ) {  }

 

2 父类(class)

super表示父类,只是一个关键字,不代表任何引用。



public Dog(String name,int health,int love,String strain){
        /*
        this.setName(name);
        this.setHealth(health);
        this.setLove(love);
        */
        super(name,health,love);
        this.setStrain(strain);



  总结:

[1] super调用父类构造方法时,必须写到构造方法有效代码第一句。

 

[2] super调用父类的非私有属性

 

super可以访问父类的非私有属性。私有的属性不能用super访问。

写法:列如:[1]System.out.println("name"+super.name );[2]System.out.println("name"+super.love );

super访问非私有类的写法为:[1]System.out.println("name"+super.getName );[2]System.out.println("name"+super.getLove );

 

3 子类继承父类的资源

java supertype 父类 java父类子类怎么写_父类_02

 

 

4 访问修饰符

中存在4类访问修饰符,分别是[1]public  [2]provite  [3]默认(friendly)  [4]protected

 

修饰符

本类✘

同包子类

同包其他类

不同包子类

不同包其他类

private

✔ 

默认

protected

public

 

 

private:私有的,只能在本类可以访问。

friendly:默认的,同包可访问,也称包访问权限。

protected:受保护的, ①子类可访问 ②同包可访问

public:公共的,都可以访问

 

5 继承关系的初始化顺序

继承的先后顺序为:【1】父类属性初始化   【2】父类的构造方法  【3】子类属性初始化   【4】子类的构造方法     

java supertype 父类 java父类子类怎么写_构造方法_03

方法的继承写法为:super.showInfo();

当子类从父类继承过来的方法不能满足自身需要时,子类可以根据自身情况进行方法重写(overwrite/override)

方法重写建立在继承的基础上,没有继承,就没有重写!

 

子类根据自身情况,可以选择部分重写和完全重写。

 

部分重写