我有一个疑问,以下是bufferedwriter
的代码
BufferedWriter out = new BufferedWriter(new FileWriter(testcasename+".html"));
BufferedWriter的构造函数只接受引用类型'Writer'抽象类的参数,上面代码中'filewriter
'类是如何实例化的?
最佳答案
不知道你的意思。
但是你做了new FileWriter(path
),它创建了一个FileWriter
实例,并且FileWriter
扩展了Writer
,这使得它完全有效。
Writer
不是一个接口(interface),而是一个抽象类,可以扩展或子类化等。
接口(interface)已实现。 new
创建一个对象并返回该对象的指针或引用。该引用按值传递到接受 Writer
对象的 BufferedWriter
构造函数(将构造函数视为一种特殊方法)。
我真的希望我的解释能够清楚地表达出来。
关于java - 接口(interface)如何作为引用传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13029800/