为什么java中抽象类虽然不能够创建对象,但是可以有构造方法,构造方法也可以带参数?

2024-11-19 12:27:43
推荐回答(1个)
回答(1):

抽象类(abstract class)因为里面有抽象方法,所以叫抽象类。
跟一般的类就在这里有区别。可以跟一般的类一样有构造方法。无参,有参的构造都行。
可以声明抽象类的对象。但是不可以实例化对象。必须依靠子类来实例化。
例如:abstract class A{
int i;
public A(){}
public A(int v){i=v;}
public abstract void fun();
}
calss B extends A{
public B(){}
public B(int v){
super(v);
}
public void fun(){
System.out.println("B");
}
}
public class C{
A a=new B();
a.fun();

}注意:抽象类被继承,子类必须复写其中的所有抽象方法。