-1

我下载了 Eclipse Kepler 并编写了这个函数:

import java.lang.System.out.*;
public class Human {
public void speak() {
      println("Hello!");
}
}

Eclipse 告诉我 println 方法未定义!当我用 System.out.println() 替换它时,没有问题。

4

4 回答 4

1

由于 println 方法不是静态的,所以不能在静态导入中使用它

你可以试试下面

import static java.lang.System.out;
public class Human {
public void speak() {
      out.println("Hello!");
}
}
于 2013-10-17T05:44:24.897 回答
1

System.out不是包,它是变量,您不能从其他对象导入单个实例方法。您理论上可以静态导入out变量,因为它System是一个非实例化类:

import static java.lang.System.out;

...
    out.println("Hello!");

但这并不是特别有用,而且它会让大多数 Java 程序员感到非常困惑。标准用法是简单地写入System.out您想要打印到标准输出的任何位置。

于 2013-10-17T05:44:32.437 回答
1

对系统使用静态关键字

import static java.lang.System.out;
于 2013-10-17T05:44:53.030 回答
1

因为println方法不是静态方法,它是静态字段上的实例方法。但是如果你想打电话,println("Hello!");你可以这样做:

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

println();     // can be inlined
于 2013-10-17T05:46:22.970 回答