java中的输出流

时间:2011-10-04 02:29:01

标签: java io

请在System.out中解释变量

  

out有时被称为OutputStream类型的对象   有时也称为PrintStream类型的对象

即使是预定义变量,有时也会将其分配给PrintWriter对象

PrintWriter out= response.getWriter();

是否可以为超类引用分配对其子类对象的引用?

3 个答案:

答案 0 :(得分:2)

超类引用变量可以保存子类对象的引用。 OutputStream是所有OutputStream字节类的抽象超类,因此您可以将System.out字段称为OutputStream类型。

答案 1 :(得分:1)

PrintStream是OutputStream的子类,而System.out是一个PrintStream,所以它确实是两者。

该行:

PrintWriter out= response.getWriter();

与System.out无关。我不知道那行代码来自哪里。它定义了一个名为out的局部变量,它完全独立于System。

答案 2 :(得分:1)

据我所知,在System.out中,“out”是方法的名称。当您说System.out.print()时,您调用System类及其out()方法。这个out()是一个静态方法,它为您提供对“System”类对象的引用。因此,在获得引用后,您将调用print()方法。

但是,PrintWriter out = response.getWriter();您只是创建PrintWriter类的引用变量。正如我的同事们提到的那样,“System.out”和“PrintWriter out”之间没有联系。这两个目的有两个目的。

如果我错了,请纠正我。 感谢。