Java 抽象类的确切用途是什么?
嗨,朋友们,我仍然无法找到我们使用抽象类的原因。Java 抽象类的确切用途是什么?,java,oop,abstract-class,Java,Oop,Abstract Class,嗨,朋友们,我仍然无法找到我们使用抽象类的原因。 例如: 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();
例如:
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();
}
}
我可以直接使用
抽象类在这里有什么用途?如果可能,如何在没有抽象类的情况下使用重写概念?如果多个类中需要相同的功能,则应使用抽象类。因为抽象类可以包含方法实现,所以可以实现一次并在(多个)其他类中继承它。这样可以避免代码重复,并使其更易于维护
也就是说,在Java8中,您可以在接口中创建默认方法,这是更好的,因为一个类可以实现多个接口,但只能继承一次。这种方法还避免了其他方法 如果在多个类中需要相同的功能,则应使用抽象类。因为抽象类可以包含方法实现,所以可以实现一次并在(多个)其他类中继承它。这样可以避免代码重复,并使其更易于维护
也就是说,在Java8中,您可以在接口中创建默认方法,这是更好的,因为一个类可以实现多个接口,但只能继承一次。这种方法还避免了其他方法 当我们可能不知道一个方法如何和做什么,但我们确信一个类包含一个特定的方法时,我们使用一个抽象方法,在这种情况下,我们可以创建一个抽象方法,而不需要任何实现代码。稍后,当我们扩展方法并了解该方法必须如何工作时,我们可以根据当前对象或扩展类向其添加实现。当我们可能不知道一个方法如何工作和做什么,但我们确信一个类包含一个特定的方法时,我们使用一个抽象方法,在这种情况下,我们可以创建一个抽象方法,而不需要任何实现代码。稍后,当我们扩展该方法并了解该方法必须如何工作时,我们可以根据当前对象或扩展类向其添加实现。这应该会有所帮助。这应该会有所帮助。抽象类-和任何类一样-允许添加额外的字段/状态;默认方法没有。@user2864740 true-但我从未遇到过必须使用抽象类字段的情况。对我来说似乎是一个边缘案例。好的评论,谢谢!抽象类-和任何类一样-允许添加额外的字段/状态;默认方法没有。@user2864740 true-但我从未遇到过必须使用抽象类字段的情况。对我来说似乎是一个边缘案例。好的评论,谢谢!
class Demo {
void show(){
sop("hi");
}
public static void main(String a[]){
Demo obj = new Demo();
obj.show();
}
}