当class A
延伸 class B
时,A
可以拥有比B
更多的属性。
从 class A
中提取的class B
呢?然后,class A
只能包含class B
的属性子集。
我认为这在某些情况下会有用。
答案 0 :(得分:1)
对您的描述的一种可能解释是polymorphism的概念(参见代码)。但是,就从B中派生一个具有较低功能的类而言,这不是java中的语言特性。
public class A {
public int x = 5;
}
public class B extends A {
public int y = 10;
}
...
B b = new B(); // Behaves like a B object should
System.out.println(b.y); // works
A a = (A)b; // Cast it to a parent class
System.out.println(a.y); // fails