Cannot construct instance of ``: non-static inner classes like this can only by instantiated using d
时间: 2024-08-27 17:01:32 浏览: 88
在Java中,当你遇到这样的错误提示 "Cannot construct instance of ``: non-static inner classes like this can only be instantiated using `new` keyword with an outer instance",这意味着你在试图直接创建一个非静态内部类的对象,而没有先实例化外部类。非静态内部类是依赖于外部类实例存在的,所以它们不能像普通类那样直接创建。
例如:
```java
public class OuterClass {
private class InnerClass {}
}
OuterClass.InnerClass obj; // 这样会报错,因为InnerClass是非静态的
```
为了正确地创建非静态内部类的实例,你需要首先创建`OuterClass`的一个实例,然后通过这个实例来创建`InnerClass`:
```java
OuterClass outer = new OuterClass();
outer.InnerClass innerObj = outer.new InnerClass(); // 这里是对的,使用外层实例来创建
```
阅读全文