1.使用方法:

子类定义时添加:

public class ZI extend FU{
  
}

父类:

package FUandZI;

public class FU {
    public void fushow(){
        System.out.println("FUshow");
    }
}

子类:

package FUandZI;

public class ZI extends FU{
    public static void zishow(){
        System.out.println("ZIshow");
    }
}

 

主函数

package FUandZI;

public class Demo {
    public static void main(String[] args) {
        FU f = new FU();
        f.fushow();
        ZI z = new ZI();
        z.zishow();
        z.fushow();//通过继承父类的show方法
    }
}

 

输出:

 

 

 好处:

  • 提高了代码的复用性(多个类相同的成员放在同一个类中)
  • 提高了代码的维护性(修改一处即可)

弊端:

  • 类的耦合性增强
  • 削弱了子类的独立性

什么时候使用继承:

如果A是B的一种,或者B是A的一种,可以使用;

例:子类(苹果)父类(水果)属于继承关系;

例:猫和狗,不属于继承关系;

继承数据的访问特点:

在子类方法中访问一个变量
子类局部范围找//name
子类成员范围找父类成员范围找//thie.name
如果都没有就报错(不考虑父亲的父亲...)//super.name

子类的数据输出:先寻找方法中,再寻找子类成员范围,最后在父类范围找。

 

public class ZI extends FU{
    public String name = "成员name";
    public static void zishow(){
        System.out.println("ZIshow");
    }
    public void showname(){
        String name = "局部name";
        System.out.println(name);//局部
        System.out.println(this.name);//成员
        System.out.println(super.name);//
    }
}

输出

调用函数的方法与此类似

 

子类中所有的构造方法默认都会访问父类中无参的构造方法

  • 子类会继承父类中的数据,可能还会使用父类的数据。
  • 子类初始化之前,一定要先完成父类数据的初始化
  • 每一个子类构造方法的第一条语句默认都是: super()
Posted on 2022-05-23 11:07  LutixiaGit  阅读(131)  评论(0)    收藏  举报