class A
{
public void method1(int a, int b)
{
System.out.println("我马上就被抽象方法覆盖了");
}
}
abstract class B extends A
{
public abstract void method1(int a,int b);//子类覆盖父类的方法
}
class Test2
{
public static void main(String[] args)
{
//B b=new B();
//System.out.println(b.method1());
}
}
首先你的方法定义都错误了,methond1定于成int类型的方法,必须要有返回值的;
抽象类是无法被实例化的。。。。
抽象类中的方法要是被调用的话,必须被继承并实现,才能进行调用,在Test2中,如果你不对B进行实例话,并调用methond1方法的话,jvm是不会报错的
但是如果你在Test2中对B进行实例化,并调用methond1方法,就不行了,会提示你‘B是抽象的,无法进行实例化’
但是这种继承方法是完全正确的
|