使用java版本1.7.0_05
当我编译下面的代码时,它给了我testpackage找不到错误。
但是如果我从" import static testpackage.TestStatic中移除static关键字;"它成功编译。
测试
import java.io.*;
import java.util.*;
import static testpackage.TestStatic;
import static java.lang.Integer.MAX_VALUE;
public class Test {
public static void main(String args[]) {
System.out.println("hello world");
System.out.println("Maximum value of int variable using " +
"static import : "
+ MAX_VALUE);
}
}
TestStatic:
package testpackage;
import java.io.*;
import java.util.*;
public class TestStatic {
public static void testStatic() {
System.out.println("Inside Test Static");
}
public void testNormal(){
System.out.println("test normal");
}
public static void main(String args[]) {
System.out.println("hello world");
}
}
答案 0 :(得分:6)
import static用于导入类的静态成员,而不是整个类。你可以说"导入静态testpackage.TestStatic.testStatic;"。
编辑:修正语法
答案 1 :(得分:1)
当您说import static testpackage.TestStatic;
编译器不知道您要导入的内容时,您可能意味着在类TestStatic
中导入静态变量testpackage
。实际上,我认为您想要从testStatic()
类
testpackage.TestStatic
对于名称
的方法或字段import static testpackage.TestStatic.testStatic;
适用于所有静态方法和字段
import static testpackage.TestStatic.*;