抽象方法:加上关键字abstract关键字,然后去掉方法的大括号以及大括号内部的语句,直接分号结束;
抽象类:抽象方法所在的类,且抽象方法必须在抽象类中,在class之前添加abstract即可(但是抽象类不一定必须有抽象方法);
public abstract class Animal {
public abstract void eat(); //抽象方法必须在抽象类中
public void other() { //抽象类中可以存在普通方法
}
}
如何使用抽象类和抽象方法:
1.抽象方法不可以通过new来直接创建一个抽象类对象;
2.抽象父类必须用至少一个子类来继承;
3.子类必须重写覆盖抽象父类中所有的抽象方法(重写:子类中去掉抽象父类中抽象方法的abstract关键字,然后在补回大括号以及大括号中的方法体),否则子类也是抽象类;
4.通过创建子类对象(new一个子类对象)来使用。
class dog extends Animal{
public void eat() {
System.out.println("吃骨头");
}
}
抽象类中,可以有构造方法,供子类创建对象时初始化父类成员使用。