直接引用java中的静态嵌套类

时间:2016-06-06 11:32:57

标签: java static-methods inner-classes static-classes

Java specification说:

  

使用封闭类名

访问静态嵌套类

然而,我能够访问和引用静态嵌套类,而不指定封闭的类名:

Test.java (在其他一些软件包中)

<intent-filter>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data
        android:host="google.com"
        android:scheme="https"
        android:pathPattern=".*" />
</intent-filter>

我在这里缺少什么?这不符合规范吗?

Response.java (封闭类)和 Builder.java (静态嵌套类):

public static void main(String[] args) {
   //referencing the static class without the enclosing class name!
   Builder b = new Builder(); //ok! no need for "Response.Builder"
}

// also from a non-static method
public void foo() {
   //referencing the static class without the enclosing class name!
   Builder b = new Builder(); //ok! no need for "Response.Builder"
}

1 个答案:

答案 0 :(得分:1)

参考您的评论:静态导入用于直接引用静态方法和字段。对于类型,常规导入是一种方法,也适用于静态嵌套类型。

删除import语句,代码将中断。