在java中,当一个类的方法被abstract关键字修饰时,该方法为抽象方法,抽象方法所在的类必须定义为抽象类,当一个方法被定义为抽象方法后,意味着该方法不会有具体的实现,而是在抽象类的子类中通过方法重写进行实现。
定义抽象类(抽象类不能被实例化,,抽象类中也可以有普通方法):
public abstract class类名称{
修饰符abstract 返回类型 方法名();
修饰符 返回类型 方法名(){
方法体
}
}
定义抽象方法(抽象方法没有方法体):
(访问修饰符)abstract<返回值类型><方法名>(参数列表);(抽象方法没有方法体)
例:有一个宠物类,宠物具体分别为狗狗,企鹅,实例化一个狗狗类,企鹅类是有意义的,而实例化一个宠物类则是不合理的。这里可以把宠物类定义为一个抽象类,避免宠物类被实例化。
//宠物抽象类,即狗狗类和企鹅类的父类
//重写父类的print()方法
public void print()
System.out.println("我是一只" + this.strain);
}
}
原文:https://www.cnblogs.com/Jc1995/p/12872488.html