如何使所有派生类一起只能实例化一个实例的单例抽象基类?(爪哇)
我的问题是,我想用Jsoup从web处理一个更大的HTML页面。一旦我有了HTML文件,我想将内容写入一个文件,这样我就不必每次都连接互联网(对于我来说,开发和测试这个静态HTML就足够了)
从包含这个JSoup文档的那个类中,我想要一个单例实例
我的想法是创建一个基类,Page
和两个派生类(PageFromFile
,PageWithHttp
)。
在这种情况下,Page
不应该被实例化,但它应该包含一个抽象方法getInstance
。这似乎是一个矛盾
当然,有一种简单的方法可以做到这一点:我只有Page
类,它有一个字段,不管它是从文件还是从web读取的,并相应地处理事情,但这似乎不是一种优雅的方法。(在大多数函数中都会有if语句)
我有两个问题:
- 你将如何解决我的问题李>
- 如何才能使它以我前面提到的方式工作?例如,有一个抽象的
Animal
类,Dog
和Cat
扩展了这个类。如何仅实例化一个Animal
,或者Dog
或者Cat
李>
共 (0) 个答案