嗨朋友们,我仍然无法找到我们使用抽象类的原因 例如:
public abstract class Test{
abstract void show();
}
class Demo extends Test{
public void show(){
System.out.println("hi");
}
public static void main(String a[]) {
Demo obj = new Demo();
show();
obj.show();
}
}
而不是我可以直接使用
class Demo {
void show(){
sop("hi");
}
public static void main(String a[]){
Demo obj = new Demo();
obj.show();
}
}
抽象类在这里有什么用?如果可能的话,如何在没有抽象类的情况下使用覆盖概念?
答案 0 :(得分:4)
如果多个类需要相同的功能,则应使用抽象类。由于抽象类可以包含方法实现,因此您可以实现一次并在(多个)其他类中继承它。这样可以避免代码重复并使其更易于维护。
也就是说,在Java 8中,您可以在接口中创建默认方法,这是可取的,因为类可以实现多个接口,但只能继承一次。此方法还可以避免使用problems的其他inheritance。
答案 1 :(得分:2)
当我们可能不了解方法的工作方式和方法时,我们使用抽象方法,但我们确信一个类包含一个特定的方法,在那个实例中我们可以创建一个没有任何实现代码的抽象方法。稍后当我们扩展方法并了解方法必须如何工作时,我们可以根据当前对象或扩展类为其添加实现。