什么是抽象:抽象是一种处理对象复杂性的技术,它只关注对象的主要细节,而忽略对象的次要细节。
1. 类和方法必须用关键字abstract修改
2. 抽象方法不需要实现,只需要声明
3. 抽象类不能被实例化jq通过属性找父类,即不能是新的
4. 如果一个类包含一个抽象方法,那么这个类必须被声明为一个抽象类,并且继承它的子类必须在实例化之前重写这个抽象方法。如果父类中的所有方法都没有实现抽象方法,那么子类也必须定义为抽象类。否则会出现编译错误。
5、没有抽象构造函数,也没有抽象静态方法。
如:抽象类Base{
abstract Base(){ } //编译错误,构造函数不能是抽象的。
静态抽象无效方法1();//编译出错,static和abstract不能一起使用。
}
6、一个抽象类可以有非抽象的构造函数jq通过属性找父类,在创建子类时可以调用这些构造函数。父类的构造函数不能被子类继承。但是可以通过super语句调用父类的构造函数。并且假设子类的构造函数中有super语句,那么它一定是构造函数中的第一条语句。
7、抽象类和抽象方法不能被final修饰符修改。abstract 修饰符和 final 修饰符不能一起使用。(final修饰的类不允许有子类)