我读到不可能从构造函数是私有的类创建子类,但奇怪的是我能够做到这一点,这个片段还有更多内容吗?
请有人提供易于理解且令人满意的解释。
public class app {
public static void main(String[] args) {
app ref = new app();
myInheritedClass myVal = ref.new myInheritedClass(10);
myVal.show();
}
int myValue = 100;
class myClass {
int data;
private myClass(int data) {
this.data = data;
}
}
class myInheritedClass extends myClass {
public myInheritedClass(int data) {
super(data);
}
public void show() {
System.out.println(data);
}
}
}
我在https://www.compilejava.net/上运行了这个片段,输出为 10。