一、说明
父类抽取出共同特性,但是每个子类实现该特性的方式都不同,比如动物都发生,但是不同的动物发声不同。所以就出现了抽象方法和抽象类。
使用关键字:abstract
二、定义
* 抽象方法 : 没有方法体的方法。
* 格式:修饰符 abstract 返回值类型 方法名 (参数列表);
* 抽象类:包含抽象方法的类。
* 格式:abstract class 类名字 {}
三、注意事项
1.继承抽象类的子类必须重写父类所有的抽象方法。否则,该子类也必须声明为抽象 类。
2.如果类中有某个方法为抽象方法,则该类也必须使用关键字abstract
3. 抽象类不能创建对象,如果创建,编译无法通过而报错。只能创建其非抽象子类的对象。
4. 抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的。
5. 抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
四、举例
DemoInterface.java
public interface DemoInterface {
public abstract void demoInterfac01();
public abstract void demoInterfac02();
public abstract void demoInterfac03();
}
DemoAbstract.java
public class DemoAbstract implements DemoInterface{
@Override
public void demoInterfac01() {
System.out.println("第一个抽象方法");
}
@Override
public void demoInterfac02() {
System.out.println("第二个抽象方法");
}
@Override
public void demoInterfac03() {
System.out.println("第三个抽象方法");
}
}
DemoExample.java
public class DemoExample {
public static void main(String[] args) {
DemoAbstract one = new DemoAbstract();
one.demoInterfac01();
one.demoInterfac02();
one.demoInterfac03();
}
}
输出结果:
第一个抽象方法
第二个抽象方法
第三个抽象方法