java 的继承

为什么要使用继承

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

java继承的特性

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

[2] 传递性。C继承于BB继承于AC具有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 子类继承父类的资源

4 访问修饰符

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

修饰符

本类✘

同包子类

同包其他类

不同包子类

不同包其他类

private

✔ 

默认

protected

public

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

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

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

public:公共,可以访问

5 继承关系的初始化顺序

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

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

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

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

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

部分重写

猜你喜欢

转载自www.cnblogs.com/FSY15767366954/p/10752216.html