(1)抽象类定义:java中可以定义没有方法体的方法,该方法称为抽象方法,抽象方法的类就是抽象类。
(2)一个类中只要有一个方法是abstract,那么这个类就是abstract。
(3)抽象类无法被实例化
abstract class Teacher{
String name;
int age;
abstract void teach();//没有方法体的方法
}
class AbstractDemo{
Teacher T = new Teacher();
}
(4)抽象类只能被抽象类继承:
abstract class Teacher{
String name;
int age;
abstract void teach();//没有方法体的方法
}
class EnglishTeacher extends Teacher{
}
class AbstractDemo{
public static void main(String[] args){
}
}
(5)子类继承抽象类有两种方法
方法一:将子类也定义为抽象类
方法二:子类对抽象类所有抽象方法重写:
abstract class Teacher{
String name;
int age;
abstract void teach();//没有方法体的方法
}
class EnglishTeacher extends Teacher{
void teach(){
}
}
class AbstractDemo{
public static void main(String[] args){
}
}
这时候的子类就是一般类了。
抽象类的几个知识点:
(1)抽象类中可以有构造方法。-----用于为子类对象进行初始化。
(2)抽象类中可以定义一般方法。-----目的是不让你new对象。
(3)abstract使用时是有限制的,不能和private,static, final一起使用。
(4)抽象类一定是一个父类。-----这个类一定会有子类继承它,并将它重写,然后才能将对象实例化