我想知道这两者之间是否存在差异 e.g。
System.out.println("Hello World");
和
println("Hello World");
我知道他们打印的是同一件事,但有什么不同吗? (我是java的新手,所以到目前为止我还不知道)
换句话说,是" System.out"什么改变?
答案 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")
调用的方法是:
现在,本地/继承/导入的println(String s)
方法可能已实现调用System.out.println(s)
,这将使其行为与直接调用System.out.println(s)
相同,但情况有所不同。
1)由于您无法静态导入java.lang.System.out.println()
(它不是静态方法),因此必须从其他类中静态导入。