Java是否支持创建具有LESS属性而不是父类型的类型?

时间:2011-12-23 04:00:27

标签: java

class A 延伸 class B时,A可以拥有比B更多的属性。

class A中提取的class B 呢?然后,class A只能包含class B的属性子集。

我认为这在某些情况下会有用。

1 个答案:

答案 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