java中输出常用System.out.println();其中out是System类中的一个static的属性(成员变量),而且是PrintStream类的一个对象。但我看源文件的时候,它是声明了一个out这样的对象,但实例化的时候好像只给了一个NULL?这样为什么还可以调用它的方法println()呢?println()不是static的呀。
它是怎样的一个过程呢?请高手赐教,谢谢!
它是怎样的一个过程呢?请高手赐教,谢谢!
解决方案 »
- java中main函数参数使用
- table
- 十万火急!在线等待
- socket问题--No buffer space available (maximum connections reached?): recv failed
- JTable中如何插入按钮,下拉框?
- 一个String的算法问题
- 请问调用class的Method的两种方法java.lang.reflect.*和java.beans.*谁效率更好?
- 数据库连接和数据提取的问题
- *.jar 程序 该怎样才能执行?
- 有谁知道怎样查看或解压扩展名为 .001(.002,.003等)我有JAVA文章是那个格式的
- access String 的问题
- 为什么 try 块没有执行?
....
setOut0(new PrintStream(new BufferedOutputStream(fdOut, 128), true));
....
}
public static final PrintStream out“标准”输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。
对于简单独立的 Java 应用程序,编写一行输出数据的典型方式是: System.out.println(data)以上是帮助文档对System.out的说明,看了这你应该知道out已经被初始化了,不是null
但System.out是一个PrintStream对象,通过对象是可以调用它本身的方法的,无论它的类型是什么.
private static PrintStream nullPrintStream() throws NullPointerException {
if (currentTimeMillis() > 0) {
return null;
}
throw new NullPointerException();
}
这不是总要抛出这个NullPointerException异常吗?有什么用?initializeSystemClass() //Initialize the system class. Called after thread initialization
这个初始化的东西就更不懂了,这么复杂!还得继续学习!!
但System.out是一个PrintStream对象,通过对象是可以调用它本身的方法的,无论它的类型是什么.不是,我只是觉得out没有被实例化,不能调用它的方法。如果是static,没有被实例化也可以被类来调用。是我说错了,因为out就不是一个类,而是一个对象!,呵呵。看来实际中是被初始化了,只是我还没整明白!
谢谢各位了!!!