【问题标题】:Java import class SystemJava 导入类 System
【发布时间】:2011-10-01 07:14:24
【问题描述】:

我有一个关于类导入的问题,如果你已经导入了类,你似乎可以调用一个减少行的方法。不明白这个操作叫什么名字,怎么可能……

例如:

为什么是这个代码

public class test 
{
        public static void main  (String args[])
        {
                System.out.print("Test");
        }
}

可以替换为

import static java.lang.System.out;

public class test 
{
        public static void main  (String args[])
        {
                out.print("Test");
        }
}

如果您还有一个名为“out”的对象会怎样?

提前致谢

【问题讨论】:

  • 它们被称为静态导入(从语句中显而易见;))。为了代码清晰,Sun 不建议系统地使用静态导入 download.oracle.com/javase/1,5.0/docs/guide/language/…
  • 谢谢,我应该更加专心:D。它也存在于其他语言中吗?
  • 是的,还有其他语言也有类似的概念

标签: java class import


【解决方案1】:

变量 out 将隐藏静态导入,您必须使用全名才能使用函数 print。

import static java.lang.System.out;
public class Tester5 {
  public static void main (String args[]) {
    int out=0;
    out.print("Test");
  }
}

yields “无法在原始类型 int 上调用 print(String)。如果 out 是一个对象,则会显示相同的错误。

【讨论】:

    【解决方案2】:

    发生的情况是,外部类的 out 必须用全名引用:

    String out = "Hello World";
    java.lang.System.out.println(out);
    

    【讨论】:

    • 不,System.out.println(out); 在这种情况下可以。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    • 2015-03-07
    • 2013-02-20
    • 2016-11-05
    • 2011-06-17
    • 2011-11-24
    • 2023-03-29
    相关资源
    最近更新 更多