相关疑难解决方法(0)

在Java中使用相同的内部类名和对象名

在下面的代码片段中,可能看起来它应该发出一些编译错误,但它不会:

class Outer {
    public static class Inner {
        static String obj = "Inner";
    }

    static Optional Inner = new Optional();
    //The (inner) class name and the object name are same.
}

class Optional {
    String obj = "Optional";
}

public class Main {

    public static void main(String[] args) {
        System.out.println(Outer.Inner.obj);
        //Refers to the string inside the optional class
    }
}
Run Code Online (Sandbox Code Playgroud)

该类中Outer有一个名为static的静态类Inner.另外,它声明了一个对象(静态)类Optional(static Optional Inner = new Optional();)

这个对象和类名(在类中Outer)是相同的Inner.程序显示 …

java inner-classes static-classes

12
推荐指数
1
解决办法
1389
查看次数

标签 统计

inner-classes ×1

java ×1

static-classes ×1