如果我创建了一个超类的几个实例,其中状态被类构造函数设置为任意值,那么如何确保子类从超类的特定实例继承其状态?
答案 0 :(得分:0)
答案 1 :(得分:0)
使用实例是不可能的。您可以通过使用构造函数中的任意值创建超类(而不是实例)的子类,然后创建那些子类的子类来完成此操作。
答案 2 :(得分:0)
子类的每个实例都有自己的超类实例。所以:
public class Super
{
protected int x;
public Super( int x ) { this.x = x; }
}
public class Sub
{
public Sub( int x ) { super( x ); }
public void func() { System.out.println( x ); }
public static void main( String[] args )
{
Sub a, b;
a = new Sub( 1 );
b = new Sub( 2 );
a.func(); b.func();
}
}
这将输出
1
2