目前正在学习内部类。我有两节课。在第二节课中有一个内部课。我正在尝试在第二个类中创建内部类的对象。但是我遇到编译错误。有人可以帮忙吗?

这是我的代码:

public class MainClass {

    public static void main(String[] args) {

        NestedClass.NewUser newUserObj = new NewUser("User");
        System.out.println(newUserObj.Name);
    }
}

class NestedClass {

    class NewUser {
        public String Name;

        NewUser(String name) {
            this.Name = name;
        }
    }
}

最佳答案

要实例化内部类,必须首先实例化外部类。

使用外部对象创建内部对象,如下所示:

NestedClass.NewUser newUserObj = (new NestedClass()).new NewUser("User");


参考:http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html

关于java - 使用内部类时的编译错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19618705/

10-10 15:02