Java 是';println()';PrintStream类的静态成员函数还是实例成员函数?
在这里:Java 是';println()';PrintStream类的静态成员函数还是实例成员函数?,java,Java,在这里: println()是PrintStream类的静态成员函数还是实例成员函数 正如我的老师所说:当类名后面有点()时,我们肯定是在尝试访问类的静态成员 这里是静态引用变量,它具有PrintStream类的引用。所以我的问题是,println()函数必须是静态成员函数吗?不,println是PrintStream的一个实例方法,正如您在PrintStream的Javadoc中所看到的那样 void java.io.PrintStream.println(字符串x) System.out提供
println()
是PrintStream
类的静态成员函数还是实例成员函数
正如我的老师所说:当类名后面有点(
)时,我们肯定是在尝试访问类的静态成员
这里是静态引用变量,它具有PrintStream类的引用。所以我的问题是,
println()
函数必须是静态成员函数吗?不,println
是PrintStream
的一个实例方法,正如您在PrintStream
的Javadoc中所看到的那样
void java.io.PrintStream.println(字符串x)
System.out
提供对执行println
的PrintStream
实例的引用。否,println
是PrintStream
类的实例方法。out
是系统
类的静态成员
System.out
^--^
类系统的静态成员,返回PrintStream实例
System.out.println(…)
^------^
PrintStream的实例方法
声明为
System.out.println("Hi, this is frist program");
public static final PrintStream out
在类System
中,它是一个静态成员,您可以使用System.out
访问它(请参阅final
修饰符)
PrintStream
类的实例方法声明为
System.out.println("Hi, this is frist program");
public static final PrintStream out
println()
是PrintStream
类的非静态成员函数
out
是对系统
类内部的打印流
类型的对象的静态引用
out
是一个引用,out.prinln()
引用了out
的实例方法。在本例中,out
也是另一个类的静态成员,但这对println()
方法没有任何区别,它是一个实例方法
System.out
是对PrintStream
实例的静态引用。
这提供了多个重载版本,如果
println
那么final
是什么意思?@Infinity好问题,我链接到了另一个关于这个问题的深入问题。