作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的代码:
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();
关于java - 无法实例化内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36842912/
我是一名优秀的程序员,十分优秀!