请在System.out中解释变量
out有时被称为OutputStream类型的对象 有时也称为PrintStream类型的对象
即使是预定义变量,有时也会将其分配给PrintWriter对象
PrintWriter out= response.getWriter();
是否可以为超类引用分配对其子类对象的引用?
答案 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”之间没有联系。这两个目的有两个目的。
如果我错了,请纠正我。 感谢。