抽象类
在Java中我们把没有方法主体的方法称为抽象方法。Java语法规定,包含抽象方法的类叫做抽象类。
定义:抽象方法 没有方法体的方法。
抽象类 包含抽象方法的类。
抽象方法:
使用abstract关键字修饰的方法,该方法就成了抽象方法,抽象方法值包含一个方法名,而没有方法体。
定义格式:修饰符 abstract 返回值类型 方法名(参数列表);
代码举例:public abstract void run();
抽象类:
如果一个类包含抽象方法,那么该类必须是抽象类。
定义格式:abstract class 类名{}
代码举例:public abstract class Animal{
public abstract void run();
}
抽象的使用
继承抽象类的子类必须重写父类所有抽象方法。否则,该子类也必须声明为抽象类。最终,必须有子类实现该父类的抽象方法,否则,从最初的父类到最终的子类都不能创建对象,失去意义。
演示代码:
//父类Animal 抽象类
public abstract class Animal {
public abstract void run();
}
//子类 Cat
public class Cat extends Animal {
//重写了父类的抽象方法 run()
@Override
public void run() {
System.out.println("小黑在地上跑。。。");
}
public static void main(String[] args) {
Cat cat = new Cat();
cat.run();
}
}
此时的方法重写,是子类对父类抽象方法的实现,我们将这种方法的重写叫实现方法。
抽象类的使用注意事项:
1.抽象类不能创建对象
2.抽象类中可以有构造方法,是供子类创建对象时,初始化父类成员使用的
3.抽象类的子类,必须重写抽象父类的所有抽象方法,否则,编译无法通过而报错。除非该子类也是抽象类。