dav*_*veb 1 java inheritance class abstract
我有一个抽象类和 2 个子类。如果您无法实例化抽象类,您将如何使用它们。我编写的代码最初使用类和子类,后来意识到最好从父类中使用 2 个子类。我知道这是在 Java 中进行多重继承的一种方式。我现有的代码正在实例化父类,我正在处理它。现在,我无法实例化父类,因为该类现在是抽象的。是否只有我现在可以实例化的子类?这些都是普通班。
一个子类是雇员,有出生日期、工资,另一个子类是客户,有最喜欢的食物、付款明细
父类是人
任何帮助将非常感激。
您不需要实例化父类。例如,您必须出于下一个原因使用它:
您可以保留一些通用的有用方法,您可以在子类中使用(并通过父类的变量链接到它)(如果需要,也可以覆盖它),例如:
abstract class Person{
protected String name;
protected String surname;
public String getFullName(){return name+" "+surname;}
}
public class Employee extends Person{
public Employee(String name, String surname){
this.name=name; this.surname=surname;
}
}
public class Mister extends Person{
public Employee(String name, String surname){
this.name=name; this.surname=surname;
}
public String getFullName(){return "Mr. "+name+" "+surname;}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以这样做:
Person p1=new Employee("Jonh","Doe");
Person p2=new Mister("Jonh","Doe");
p1.getFullName(); //John Doe
p2.getFullName(); //Mr. John Doe
Run Code Online (Sandbox Code Playgroud)
PS:抽象类不是为了多重继承,多重继承是另外一回事(类可以从多个父级继承)