【发布时间】:2012-03-16 07:50:24
【问题描述】:
首先很遗憾,如果这是一个非常基本的问题,并且我宣传我仍然是一个代码猴子。 我在一次采访中被要求阐明 System.out.println(); 我解释了以下方式
//this class belongs to java.lang package
class System{
public static PrintStream out;
}
//this class belongs to java.io package
class PrintStream{
public void println..
}
我已经解释过 System.out 是有效的,因为这是我们在 java 中访问静态变量的方式,而 out 是 PrintStream 的一个对象,因此我们可以访问它的方法,总而言之
System.out.pritnln();
他让我模拟一个类似的程序,我跟踪它并没有工作,因为 System.out 返回 null
我的问题是在 java 中实例化的对象在哪里?如果我没记错的话,它是一个预定义的对象吗?这应该是什么细致的解释。
从技术上讲,我们应该说什么?是 PrintStream 类型的变量还是应该说它是 PrintStream 类型的对象?
【问题讨论】:
-
“System.out 返回 null”是什么意思?
-
我创建了一个类比程序,例如 class A{ static B out}; class B{ } 我试图打印 System.out.println(A.out);返回 null。