90510d1c1975001d1dddb6604daa6ad2

来自「java程序设计教程的源码」· 代码 · 共 41 行

TXT
41
字号
//【例4-7】  类继承的传递性。
//程序清单4-7:  InheritanceTransferDemo.java
package e4_7;

public class InheritanceTransferDemo {
	public static void main(String args[]) {
		C c = new C();
		// 非私有成员在子类对象中可见
		System.out.println("c.a1 =" + c.a1 + "\nc.getA2() =" + c.getA2()
				+ "\nc.b1 =" + c.b1 + "\nc.getB2 =" + c.getB2());
		// 私有成员在子类对象中不可见,此处c.a2与c.b2不可见
		// System.out.println("c.a2 =" + c.a2 + "\nc.b2 =" + c.b2);
	}
}

class A {// 类A继承类java.lang.Object
	int a1 = 10;

	private int a2 = 20;

	public int getA2() {
		return a2;
	}
}

class B extends A {// 类B继承类A,间接继承类java.lang.Object
	// 类B继承父类A的非私有成员:a1和getA2(),而私有成员a2不能被继承
	int b1 = 100;

	private int b2 = 200;

	public int getB2() {
		return b2;
	}
}

class C extends B {// 类B继承类C,间接继承类A和类java.lang.Object
	// 类C直接继承父类B的非私有成员:b1和getB2(),而私有成员b2不能被继承
	// 类继承的传递性:类C间接继承父类B的父类A的非私有成员:a1和getA2(),而私有成员a2不能被继承
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?