问答详情
源自:3-1 SAX 生成 XML 的准备工作

为什么SAXTransformerFactory要强制类型转换,前后类型不是一样的吗?

SAXTransformerFactory tff = (SAXTransformerFactory) SAXTransformerFactory .newInstance();

提问者:Z华L 2018-09-05 18:41

个回答

  • 慕粉18171202767
    2018-09-09 09:20:45
    已采纳

    一般使用工厂模式创建的对象,返回值是其祖先类型,这样就会是生成一个上转型对象,而上转型对象不能调用子类新的成员变量和方法。

    也就是说,假设SAXTransformerFactory .newInstance()返回的是一个TransformerFactory ,TransformerFactory是SAXTransformerFactory的父类或者接口