【问题标题】:static member in JavaJava中的静态成员
【发布时间】:2014-03-08 11:20:27
【问题描述】:
package pack1;

public class A {
    public static int i = 10;

    public static void test()  {
    System.out.println("done");
    }

 }



//this is other .class file
package pack2;
import static pack1.A;  
import static java.lang.System.out;
public class Manager2 {
  public static void main(String[] args) {
           out.println(i);
           test();
  }
}

每当我使用 import static pack1.A; 时,就像我在类 Manager2 中使用的那样,而不是 import static pack1.A.*;,编译器显示错误。 import static pack1.A; 不导入包含静态成员的 A 类吗?

我知道使用 import static pack1.A.i 会导入静态成员,但使用“import static pack1.A;”显示错误。

【问题讨论】:

标签: java


【解决方案1】:

Java Language Specification 仅描述了两种不同的静态导入方法。

Single-Static-Import declarations 形式为import static TypeName . Identifier ;,其中“从一个类型中导入所有具有给定简单名称的可访问静态成员”

Static-Import-on-Demand declaration 允许“根据需要导入命名类型的所有可访问静态成员”,其格式为 import static TypeName . * ;

基本上,您必须指定要导入的所有方法名称,或者如果您希望能够根据需要使用任何方法,请使用 .* 表示法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 2015-09-11
    相关资源
    最近更新 更多