Eclipse错误:即使导入了sytem库,println方法仍未定义

时间:2013-10-17 05:41:41

标签: java eclipse

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

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

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

4 个答案:

答案 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