2012-10-23 36 views
0

我有一个疑问,以下是为BufferedWriterbufferedwriter如何接口作为参考

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

构造函数的代码只接受引用类型“作家”抽象类,怎么做的参数“filewriter”类传入在上面的代码中实例化?

回答

4

不确定你的意思。

但是你做了new FileWriter(path)它创建了一个FileWriter实例,并且FileWriter扩展了Writer,这使得它非常有效。

Writer不是接口但一个抽象类可以扩展子类

接口被实施。并且new创建一个对象,并返回指针参考到该对象。参考是将值传递给BufferedWriter构造函数(将构造函数视为特殊方法),该构造函数接受Writer对象。

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

+1

+1精致而简洁的解释。 :) –

+0

@RohitJain感谢哥们! –

+0

@LewsTherin ..不客气:) –

0

提示:子类的对象可以是类型转换为父类,但反之则不然。

在上面的情况下,您将得到Filewriter类的对象,从而扩展了类Writer因此有效。