Java 如何使所有派生类一起只能实例化一个实例的单例抽象基类?(爪哇)

Java 如何使所有派生类一起只能实例化一个实例的单例抽象基类?(爪哇),java,singleton,abstract-class,Java,Singleton,Abstract Class,我的问题是,我想用Jsoup从web处理一个更大的HTML页面。一旦我有了HTML文件,我想将内容写入一个文件,这样我就不必每次都连接互联网(对于我来说,开发和测试这个静态HTML就足够了) 从包含这个JSoup文档的那个类中,我想要一个单例实例 我的想法是创建一个基类,Page和两个派生类(PageFromFile,PageWithHttp)。 在这种情况下,Page不应该被实例化,但它应该包含一个抽象方法,getInstance。这似乎是一个矛盾 当然,有一种简单的方法可以做到这一点:我只有

我的问题是,我想用Jsoup从web处理一个更大的HTML页面。一旦我有了HTML文件,我想将内容写入一个文件,这样我就不必每次都连接互联网(对于我来说,开发和测试这个静态HTML就足够了)

从包含这个JSoup文档的那个类中,我想要一个单例实例

我的想法是创建一个基类,
Page
和两个派生类(
PageFromFile
PageWithHttp
)。 在这种情况下,
Page
不应该被实例化,但它应该包含一个抽象方法,
getInstance
。这似乎是一个矛盾

当然,有一种简单的方法可以做到这一点:我只有
页面
类,它有一个字段,不管它是从文件还是从web读取的,并相应地处理事情,但这似乎不是一种优雅的方法。(在大多数函数中都会有if语句)

我有两个问题:

  • 你将如何解决我的问题
  • 如何才能使它以我前面提到的方式工作?例如,有一个抽象的
    Animal
    类,
    Dog
    Cat
    扩展了这个类。如何仅实例化一只
    动物

    你得更清楚地解释自己。也许有比“基础”和“派生”更现实的例子。谢谢,我试图澄清这个问题。也许这会对你有所帮助