抽象类
抽象类:
- 当定义一个类时,常常需要定义一些方法来描述该类的行为特征,但有时这些方法的实现方式是无法确定的。
- 例如:在定义Animal类时,shout()方法用于表示动物的叫声,但是叫声是不同的,因此shout()发给发中无法准确描述动物的叫声。
- 抽象方法必须使用abstract关键字类修饰,并且在定义方法时不需要实现方法体。
- 当一个类中包含了抽象方法,那么该类也必须使用abstract关键字来修饰,这种使用abstract关键字修饰的类就是抽象类
- 语法:
- //定义抽象类
- [修饰符] abstract class 类名{
//定义抽象方法
[修饰符] abstract 方法返回值类型 方法名([参数列表]);
//其他方法或属性
}
*注意:
*包含抽象方法的类必须定义为抽象类,但是抽象类中可以不包含任何抽象方法。
*抽象类不可以被实例化,因为抽象类中有可能有抽象方法,抽象方法是没有方法体的,不可以被调用。
*如果想调用抽象类中定义的抽象方法,需要创建一个子类,在子类中实现抽象类中的抽象方法。
小例子
abstract class Animal9{
//定义抽象方法shout()
public abstract void shout();
}
//定义Dog类继承抽象类Animal9
class Dog9 extends Animal9{
//实现抽象方法shout(),编写方法体
public void shout() {
System.out.println("汪汪....");
}
}
public class Example11 {
public static void main(String[] args) {
Dog9 dog = new Dog9();
dog.shout();
}
}