下面哪些情况下需要使用抽象类?
正确答案:ABD
当一个类的一个或多个方法是抽象方法时
当类是一个抽象类的子类,并且不能为任何抽象方法提供任何实现细节或方法体时
当一个类实现多个接口时
当一个类实现一个接口,并且不能为任何抽象方法提供实现细节或方法体时 解析:1.A选项。一个类中有抽象方法则必须申明为抽象类。public abstract class HaveAbstractMethod {public abstract void method1(); }2.B选项。 我建一个接口,然后一个抽象类implements这个接口,并override的所有方法。然后我在建一个类extends这个抽象类,并且不能为任何抽象方法提供任何细节或方法体时,这时这个类必须是抽象类。public interface MyInterface { public void method1();}public abstract class MyAbstractClass implements MyInterface{@Overridepublic void method1() { } }public abstract class ChildAbstractClass extends MyAbstractClass{@Overridepublic abstract void method1();}3.D选项。我建一个接口,然后一个类implements这个接口,并且不能为任何抽象方法提供任何细节或方法体时,这个类必须是抽象类,并override的所有方法。然后我在建一个普通类extends这个抽象类,就可以为所欲为了 。这种情况就是java设计模式中的适配器模式。public interface MyInterface { public void method1();}public abstract class MyAbstractClass implements MyInterface{@Overridepublic void method1() { } }public class MyNormalClass extends MyAbstractClass{@Overridepublic void method1() {System.out.println("from method1"); }