[英]Cannot instantiate inner class
那是我的代码:
public class A {
int age;
void Do() {
System.out.println("...");
}
class B extends A {
}
public static void main(String[] args) {
B b=new B();
}
}
错误:
new B();
为什么? 为什么不对?
您已将B
声明为A
的内部类,因此如果不提供封闭类A
的实例,就无法实例化它。
您可以将B的定义移到A之外,以使代码正常工作:
class B extends A
{
}
public class A
{
int age;
void Do()
{
System.out.println("...");
}
public static void main(String[]args)
{
B b = new B();
}
}
或者,您可以按原样保留类结构,但是创建A的实例以创建B的实例:
B b = new A().new B();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.