package com.ibm;import java.io.OutputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;public class outputStream1{ //将程序读入到内存中去 public static void main(String[] args)throws IOException{
String str = "abcd";
OutputStream out = new ByteArrayOutputStream();
byte[] b = str.getBytes();
out.write(b);
System.out.println(out.toString());
System.out.println(out);
}
}OutputStream类的引用out不是没有toString()方法的吗,为什么可以调用啊?OutputStream out = new ByteArrayOutputStream();这句话是父类对象指向子类,父类引用不是不能用子类没重写的方法吗?(toString()方法)
import java.io.ByteArrayOutputStream;
import java.io.IOException;public class outputStream1{ //将程序读入到内存中去 public static void main(String[] args)throws IOException{
String str = "abcd";
OutputStream out = new ByteArrayOutputStream();
byte[] b = str.getBytes();
out.write(b);
System.out.println(out.toString());
System.out.println(out);
}
}OutputStream类的引用out不是没有toString()方法的吗,为什么可以调用啊?OutputStream out = new ByteArrayOutputStream();这句话是父类对象指向子类,父类引用不是不能用子类没重写的方法吗?(toString()方法)
System.out.println(out);输出的是ByteArrayOutputStream里的toString方法:toString
public String toString()使用平台默认的字符集,通过解码字节将缓冲区内容转换为字符串。