抽象类特点
- 抽象类和抽象方法必须用abstract关键字修饰;
- 抽象类中不一定有抽象方法,但是有抽象方法的类必须定义为抽象类;
- 抽象类中可以定义常量,也可以定义变量;
- 抽象类有构造方法,但它不能被实例化,抽象类的构造方法用于子类访问父类数据;
- 抽象类的实例化依靠子类实现;
- 抽象类中的抽象方法不能有方法体。
public class AbstractClassTest {
public static void main(String[] args) {
Person person = new Student(); //抽象类实例化依靠子类实现
}
}
abstract class Person {
public Person() { //抽象类有构造方法
}
public abstract void getName(); //抽象类中的抽象方法,没有方法体
public abstract void getAge(); //抽象类中的抽象方法,没有方法体
public void printInfo(){ //抽象类中的非抽象方法
System.out.println("Test");
}
}
class Student extends Person { //student继承Person,必须实现Person中的抽象方法。
@Override
public void getName() {
// TODO Auto-generated method stub
}
@Override
public void getAge() {
// TODO Auto-generated method stub
}
}