简介
抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。
抽象类相当于模板,没有具体的内容,需要由子类来实现。
在 Java 中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口。
注意
1.抽象类不能实例化,即不能创建对象,只能被继承,然后实例化。
2.继承抽象类的非抽象类必须实现抽象方法。
3.抽象类中可以没有抽象方法,有抽象方法的类一定是抽象类。
4.抽象类可以继承抽象类,可以不用实现抽象方法。
5.抽象的方法不能private,final,static修饰。
实现
public class Test { public static void main(String[] args) { Dog d = new Dog(); d.Call(); d.eat(); } } abstract class Animal{ private String name;//变量不能添加abstract修饰符,即没有抽象变量 public void Call(){ System.out.println("动物的叫声"); } public abstract void eat();//抽象方法不能有方法体,方法内容由子类继承并实现 } class Dog extends Animal{ @Override public void eat() { System.out.println("狗吃狗粮"); } }