抽象类是无法用new来实例化的,但是可以通过其他途径来实例化:子类在自己构造方法中可以利用抽象父类的构造方法“构造”一个抽象父类的实例对象,进而在子类的方法中调用抽象父类的普通非抽象方法。示例代码如下:
public class test
{
public static void main(String[] args)
{
TimesTwo t = new TimesTwo();
int m = t.multiply(2);
System.out.println(m); //输出4
}
}
class Product {
int multiplyBy;
public Product( int multiplyBy ) {
this.multiplyBy = multiplyBy;
}
public int multiply(int val) {
return multiplyBy * val;
}
}
class TimesTwo extends Product {
public TimesTwo() {
super(2);
}
public int multiply(int val)
{
return super.multiply(val);
}
}
参考文章:Can an abstract class have a constructor?



