我有一个疑问,以下是bufferedwriter的代码

BufferedWriter out = new BufferedWriter(new FileWriter(testcasename+".html"));


BufferedWriter的构造方法仅接受引用类型为'Writer'抽象类的参数,如何在上述代码中实例化'filewriter'类?

最佳答案

不明白你的意思。

但是您做了new FileWriter(path)创建了一个FileWriter实例,而FileWriter扩展了Writer使其完全有效。

Writer不是接口,而是可以扩展或子类化的抽象类。

接口已实现。然后new创建一个对象并返回对该对象的指针或引用。引用按值传递给BufferedWriter构造函数(认为构造函数是一种特殊方法),该构造函数接受Writer对象。

我真的希望我的解释清楚。

关于java - 接口(interface)如何作为引用传递,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13029800/

10-10 16:24