没有这两个,首先说抽象静态方法:也就是说abstract static 定义的方法,我们知道static定义的方法是可以被类直接调用的方法,但abstract是没有方法体的怎么被调用,所以在编译期就存在问题。然后是构造方法,我们知道抽象方法被子类继承是必须要被覆盖的,父类的构造方法是不能重写覆盖的作者: kaka小明 时间: 2013-6-2 23:49
第一个问题:从逻辑上讲,假如一个抽象方法能定义成静态,那么通过类调用这个静态方法,这个方法没有方法体,那么调用它就没有意义,编译是通不过的。
第二个问题:抽象类不能实例化,但是在实例化它的子类对象时,还是会执行父类的无参构造方法,这个构造方法是有实体的,定义抽象非法!
abstract class A{
public A(){
System.out.println("抽象A建立");
}
public abstract void fun();
}
class B extends A{
@Override
public void fun() {
System.out.println("B...");
}
}
public class LuntanPicCopy {
public static void main(String[] args)
{
A a=new B();
a.fun();
}
}