我下载了 Eclipse Kepler 并编写了这个函数:
import java.lang.System.out.*;
public class Human {
public void speak() {
println("Hello!");
}
}
Eclipse 告诉我 println 方法未定义!当我用 System.out.println() 替换它时,没有问题。
由于 println 方法不是静态的,所以不能在静态导入中使用它
你可以试试下面
import static java.lang.System.out;
public class Human {
public void speak() {
out.println("Hello!");
}
}
System.out
不是包,它是变量,您不能从其他对象导入单个实例方法。您理论上可以静态导入out
变量,因为它System
是一个非实例化类:
import static java.lang.System.out;
...
out.println("Hello!");
但这并不是特别有用,而且它会让大多数 Java 程序员感到非常困惑。标准用法是简单地写入System.out
您想要打印到标准输出的任何位置。
对系统使用静态关键字
import static java.lang.System.out;
因为println
方法不是静态方法,它是静态字段上的实例方法。但是如果你想打电话,println("Hello!");
你可以这样做:
public static void println() {
System.out.println();
}
println(); // can be inlined