当前位置:  开发笔记 > 编程语言 > 正文

使用子类来替换未实现接口的Java类

如何解决《使用子类来替换未实现接口的Java类》经验,为你挑选了1个好方法。

例如,java.io.File只是一个具体的类.我的替代品支持解析Windows快捷方式.我需要预处理构造函数参数来解析可能的.lnk文件,因为无法访问在抽象路径上执行规范化/规范化/解析的FileSystem对象.预处理的需要排除了纯子类 - 在调用super(...)之前不能进行预处理,而File是不可变的.所以我扩展File并使用委托,覆盖所有File的构造函数和方法(在所有构造函数中调用super("")).

这很好用,但显然不理想 - 如果File更改,我将不会覆盖任何新方法或构造函数,这将公开底层的空抽象路径名.我错过了一些明显的东西吗 似乎应该有一个更简单/更好的方法.



1> krosenvold..:

在具体的情况下,你建议我认为你最好选择一个单独的工厂类来做出关于规范化/规范化/解决的决定.

然后你可以让文件成为文件.简单.

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有