- 三个类,爷爷类,父亲类,儿子类;父亲类继承爷爷类,儿子类继承父亲类
- 私有方法,构造方法不能被继承
- 子类可以调用形参为父类的方法
1. 爷爷类
package JiCheng; public class Gf { // 成员变量 String name; // 构造方法 // 构造方法是构造当前类实例的特殊方法,不能被继承 // 但是子类可以使用super关键字来调用父类的构造方法,用于初始化父类各项 Gf(){ } public void a1() { // 公有方法,可继承 } private void b1() { // 私有方法,不可继承,但可以想办法调用它 } }
2. 父亲类
package JiCheng; public class F extends Gf{ // 父亲类继承爷爷类 // 成员方法-公有 public void a2() { } // 公有方法 public void b2() { } }
3. 儿子类
package JiCheng; public class Z extends F{ // 儿子类继承父亲类 public void a3() { } }
4. 测试demo
package JiCheng; public class Extends_Demo01 { public static void main(String[] args) { Gf gf = new Gf(); // 爷爷类 F f = new F(); // 父亲类 Z z = new Z(); // 儿子类 // f可以调用爷爷类公有的方法a1,但不能调用私有的方法b1 f.a1(); // z可以可以调用爷爷类的a1,父亲类的a2,b2 z.a1(); z.a2(); z.b2(); // z继承了爷爷类的成员变量 z.name = "zzg"; // 儿子类实例可以调用形参为爷爷类的方法 System.out.print(getName(z)); } // 形参为爷爷类,但由于继承的原因,父亲类和儿子类都可以调用 public static String getName(Gf g) { return g.name; } }