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