Socket s=new Socket();
outputstream os=s.getoutputstream();outputstream表示输出字节流的所有类的超类。
public OutputStream getOutputStream()throws IOException 返回的是输出流。也就是说返回了一个outputstream类的实例(我知道这么说是错的,因为抽象类无法实例化)。那声明的os是怎么指向这个对象的。我猜想这里有一个类继承了outputstream,实例化后返回,那这个类就很神秘了,因为连个名字都不知道。如果没有这个类,那你返回一个抽象类对象,不就错死了!!!
类对象抽象类
outputstream os=s.getoutputstream();outputstream表示输出字节流的所有类的超类。
public OutputStream getOutputStream()throws IOException 返回的是输出流。也就是说返回了一个outputstream类的实例(我知道这么说是错的,因为抽象类无法实例化)。那声明的os是怎么指向这个对象的。我猜想这里有一个类继承了outputstream,实例化后返回,那这个类就很神秘了,因为连个名字都不知道。如果没有这个类,那你返回一个抽象类对象,不就错死了!!!
类对象抽象类
解决方案 »
- 请教关于多态的问题
- 如何将泛型表示的类型转换为字符串
- SQL 的别名中,遇到的问题!!!!!!!!!!!!!!!!
- 如何将java的class文件转换成exe文件
- 请问jdk1.4.2的开发文档哪里有下载的(英文的并且是chm版的)?
- 键盘事件的简单问题
- 哪个编译环境能运行如下程序啊?
- 50分求助刚安装的jbulider8.0,谁有serial number和key?
- 在JAVA中能过JDBC来链接数据库出问题,请高手给指点一下(急急急....)
- 有谁了解网络机器人的JAVA设计,Spider,Bot,Aggregator
- (关于cast)知道我的方法有问题,只求更好的建议(新手)
- 如何在swing中调用ocx影像控件?
System.out.println(os.getClass());
System.out.println(os.getClass());
总之一句话:父类变量可以引用子类对象
Outputstream os是父类变量
public OutputStream getOutputStream()throws IOException 返回的是输出流,并且这个输出流是OutputStream的子类对象(子类实例)
所以Outputstream os = s.getoutputstream();就可以
你要是换成FileOutputstream os = s.getoutputstream();就得报错了