在 Java 中接收其他引用类型

receiving other reference type in Java

提问人:meBe 提问时间:11/24/2017 更新时间:11/24/2017 访问量:47

问:

有一个参数是引用类型,它可以接收其他引用类型吗? 例如,下面有一个代码

fr = new FileReader("d:\\test.txt");
br = new BufferedReader(fr);

BufferedReader 类接收 FileReader 类型,但我在 JAVA API 中看到

BufferedReader(Reader in)

接收 Reader 类型。

我知道 Reader 类是抽象的,但它没有给我任何线索。 如何获取其他类型的引用作为参数?

参数 按引用传递 值传递

评论

0赞 R. S. 11/24/2017
你需要了解哎呀 docs.oracle.com/javase/tutorial/java/IandI/subclasses.html 的继承概念
0赞 Nir Alfasi 11/24/2017
这也是相关的
0赞 meBe 11/24/2017
@alfasin意思是,如果将 FileReader 类型 fr 传递给 Buffer reader 的参数,它将被上转换为 Object 类类型?
0赞 meBe 11/24/2017
@R.S.所以它是向上铸造的概念
0赞 R. S. 11/24/2017
是的,它是向上的

答:

0赞 Washington A. Ramos 11/24/2017 #1

FileReader是 的子类,它是 的子类。也就是说,所有公共方法和变量都可以在 中找到。InputStreamReaderReaderReaderFileReader

评论

0赞 meBe 11/24/2017
你是说它正在选角吗?