下面:
System.out.println("Hi, this is frist program");
println()
是PrintStream
类或实例成员函数的静态成员函数吗?
正如老师所说:当课名后有点(.
)时,我们肯定会尝试访问该班的静态成员。
这里是静态引用变量,它引用了PrintStream类。所以我的问题是println()
函数必须是一个静态成员函数吗?
答案 0 :(得分:5)
不,println
是PrintStream
类的实例方法。 out
是System
类的静态成员。{/ p>
System.out
^--^
static member of the class System, returns a PrintStream instance
System.out.println(...)
^------^
instance method of PrintStream
out
被声明为
public static final PrintStream out
在课程System
中,因此它是一个静态成员,您可以使用System.out
访问它(请final
指代PrintStream
修饰符。)
to this question是声明为
的public void println()
类的实例方法
padding-top: 10%;
答案 1 :(得分:1)
不,println
是PrintStream
的实例方法,您可以在PrintStream
的Javadoc中看到。
void java.io.PrintStream.println(String x)
System.out
为您提供了对PrintStream
执行println
的实例的引用。
答案 2 :(得分:0)
println()
是PrintStream
类的非静态(实例)成员函数。
out
是对PrintStream
类内System
类型对象的静态引用。
out
是引用,out.prinln()
是指out
的实例方法。在这种情况下,out
也是另一个类的静态成员,但这对println()
方法没有任何影响
答案 3 :(得分:0)
它是一种实例方法。
System.out
是对PrintStream
实例的静态引用。
https://docs.oracle.com/javase/7/docs/api/java/lang/System.html#out
如果println
https://docs.oracle.com/javase/7/docs/api/java/io/PrintStream.html#println(java.lang.String)