面试题-抽象类中的问题

题目一:

 可以定义为抽象类,意义:不让外界去创建对象.只能让之类去继承.

题目二:
private冲突:

   原因是: private 私有了父类A中的方法,导致子类B无法重写父类A中的show()方法,但是由于show()方法是抽象的,子类如果继承就必须要重写父类中的show 方法.所以发生冲突,报错.
 abstract class A {
 //非法的修饰符组合
 private abstract void show(); //报错
}
class B extends A {

}

题目三:
final 冲突:

 原因:最终的final如果修饰了方法,就不能被子类重写,所以发生冲突.
abstract class A {
//非法的修饰符组合
final  abstract void show(); //报错
}
class B extends A {

}

题目四★★★:

  原因:抽象方法是没有方法体的,静态是可以直接访问的.如果直接访问一个没有方法体的方法.是没有意义的.
abstract class A {
//非法的修饰符组合
  static abstract void show(); //报错

  public static void method (){
  System.out.println("method");
  }
}
class B extends A {

猜你喜欢

转载自blog.csdn.net/My_CODEart/article/details/79327290
今日推荐