在Java中用关键字abstract修饰的类成为抽象类,例如:
abstract class A{
类体内容
}
注意,abstract类不能用运算符new来创建对象,必须产生其子类,由子类创建对象。
abstract类的类体中可以有abstract方法,abstract方法只允许声明,而不需要实现。例如:
abstract void drawpicture();
如果一个非abstract类是一个abstract的子类,它必须具体实现父类的abstract方法,即重写父类的abstract方法。
一个abstract类也可以没有abstract方法,但如果一个类中含有abstract方法,那么这个类名必须用abstract修饰。
一个abstract类只关心它的子类是否具有某种功能,并不关心功能的具体实现方法,具体的实现方法由子类来完成。
下面用一段代码为例,来说明abstract类的相关属性和功能
public abstract class Screen {
//这里就是用abstract关键词创建的一个抽象类
/**
* abstract的一个方法,不用去实现它
* @return
*/
public abstract double Computer();
}
class Lader extends Screen{
/**
* 这里我们可以使用子类的一个构造函数来给程序赋初值
*/
double a;
double b;
double c;
Lader(double d,double e,double f){
this.a = d;
this.b = e;
this.c = f;
}
/**
* 这里通过子类来实现父类的方法
*/
@Override
public double Computer() {
// TODO Auto-generated method stub
return 0;
}
}