1.抽象函数的语法特征
只有函数的定义,没有函数体的函数称为抽象函数
abstract void fun()
2.抽象类的语法特征
使用abstract定义的类称为抽象类
1) 抽象类不能生产函数,不能生成对象
2) 如果一个类当中包含有抽象函数,那么这个类必须被声明为抽象类
3) 如果一个类当中没有抽象函数,那么这个类也可以被声明为抽象类
3.抽象类的作用
基本类,用来被继承的
abstract class Person{
string name;
int age;
void intruduce(){
System.out.println("我的姓名是"+name",我的年龄是"+age);
}
abstract void eat();
abstract class chinese extends Person{
void eat(){
System.out.println("用筷子吃饭");//复写了父类中的eat
}
}
class Test(){
public ststic void main(String args[]){
Person p = new Chinese();
p.eat();
}
}
4.抽象类可以有构造函数吗?
条件:
1)抽象类不能生成对象(错误举例:abstract void fun(){}绝对不能实现,即不能有大括号)
2)构造函数用于生成类的对象
结论:
可以有构造函数(super子类的实例化过程)
作用:可以解决父类中方法的不确定性
当一个类继承的父类是抽象类需要把抽象类中的所有抽象方法全部实现
抽象类可以没有抽象方法,同样不能实例化