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()
浙公网安备 33010602011771号