题目一:
可以定义为抽象类,意义:不让外界去创建对象.只能让之类去继承.
题目二:
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 {