java我有一个抽象类和两个子类。如果不能实例化抽象类,如何使用它们
我有一个抽象类和两个子类。如果不能实例化抽象类,如何使用它们。我编写的代码最初使用一个类和子类,后来意识到最好从父类中获得两个子类。我知道这是在Java中进行多重继承的一种方法。我的现有代码正在实例化父类,而我 处理这个问题。现在,我无法实例化父类,因为该类现在是抽象的。 它是我现在唯一可以实例化的子类吗?这些是普通班
一个子类是employee,有出生日期、薪水,另一个子类是customer,有FavoriteFood、paymentdetails
父类是person
任何帮助都将不胜感激
# 1 楼答案
您不需要实例化父类。您必须使用它,例如,下一个原因:
您可以在子类中保留一些通用的有用方法(并通过父类的变量链接到它),例如:
然后你可以这样做:
PS:抽象类不适用于多重继承,多重继承意味着另一件事(类可以从多个父级继承)
# 2 楼答案
是的,这就是它的意思。抽象类不能实例化,只有完全实现它们的类才能实例化
如果你的逻辑正确,你甚至不需要这样做。我的意思是,你想只创建一个
Person
,还是总是Employee
或Customer
此外,如果一个类由多个其他类扩展,则不称为多重继承。多重继承是指单个类扩展多个其他类
在Java中,只能扩展一个类,但可以实现多个接口。(但我想这超出了问题的范围)
# 3 楼答案
您可以这样做:
现在,您可以执行以下操作:
您只需将每个
Person
引用指向一个有效的具体子类现在您已经了解了一些关于继承的知识,您需要了解工厂类和虚拟构造函数。这允许您创建不同类型人员的新实例,这样您就可以在客户端代码中保留“如果”的签出
# 4 楼答案
很抱歉下一个答案,但我想回答您关于验证的评论: 您可以这样做: