system.out.println()和println()

时间:2016-06-17 01:16:10

标签: java println

我想知道这两者之间是否存在差异 e.g。

System.out.println("Hello World");

println("Hello World");

我知道他们打印的是同一件事,但有什么不同吗? (我是java的新手,所以到目前为止我还不知道)

换句话说,是" System.out"什么改变?

2 个答案:

答案 0 :(得分:2)

您可能有一个名为println的本地方法或静态导入。所以:

private void println(String str) {
    //
}

import static java.lang.System.out;

然后它必须是:

out.println("bla bla");

如果您使用的是IDE,请尝试打开它的声明(Eclipse中的 F3 )并查看它的用途。

答案 1 :(得分:2)

是的,有区别,因为他们没有调用相同的方法。

假设第二个语句实际编译,则意味着println("Hello World")调用的方法是:

  • 在您班级中定义
  • 继承自超级课程
  • 从接口继承的默认方法(Java 8 +)
  • 静态导入 1

现在,本地/继承/导入的println(String s)方法可能已实现调用System.out.println(s),这将使其行为与直接调用System.out.println(s)相同,但情况有所不同。

1)由于您无法静态导入java.lang.System.out.println()(它不是静态方法),因此必须从其他类中静态导入。