- 首先抽象的类使用需要abstract来进行注明!!!我们不知道该类中某个方法的具体用途,但是现在需要将其在这个类中展示出来,查看以下代码,我们并不知道eat方法的具体用途,需要将其进行抽象
abstract class aa{
public abstract void eat();
}
- 抽象类的价值在于,在父类中定义这些抽象的方法,但是让其在子类中进行继承实现
抽象类的使用细节
- 抽象类不能进行实例化,运行以下代码,会发现系统报错
public class Test {
public static void main(String[] args) {
aa test =new aa() ;
}
}
abstract class aa{
public abstract void eat();
}
- 抽象类不一定要包含abstract方法,就是说抽象类可以没有抽象方法
- abstract只能修饰类和方法,不能修饰属性和其他
- 抽象类还是可以拥有类的任意成员
- 抽象方法不能拥有主体,即不能含有中括号的部分
- 如果一个类继承了抽象类,那么他必须实现抽象类的所有抽象方法,除非他自己也声明为abstract,如果仅仅重写eat方法,则系统会报错。
abstract class aa{
public abstract void eat();
public abstract void kill();
}
class bb extends aa{
@Override
public void eat() {
System.out.println("吃");
}
}
- 抽象方法不能使用final,private,static修饰,这些修饰之后都不能进行重写。因为static是可以直接被调用的,但是抽象方法必须被重写之后才可以使用