抽象类的特点:抽象类和抽象方法必须用abstract关键字修饰:abstract class 类名{}; public abstract void eat();抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口,按照多态的方式,由具体的子类实例化,其实也是多态的一种,抽象类多态,抽象类的子类:要么是抽象类。要么重写抽象类中的所有抽象方法。不能调用animal a =new animal()或者说不能new自己。可以通过多态中方式,父类指向子类对象例:animal a =new cat();a. eat(); 抽象类成员变量特点即可以是变量也可以是常量,abstract,不能修饰成员变量,修饰构造方法,用于子类访问父类数据的初始化,成员方法可以是抽象的,也可以是非抽象。抽象类成员方法:抽象方法强制要求子类做的事情,非抽象方法子类继承的事情,提高代码复用性。抽象类中可以没有抽象方法,目的就是不让其他类创建本类对象,交给子类完成(可以创建子类对象)。abstract不能与static组合(类名点调用,但是类名点调用抽象没有意义)、被abstract修饰的方法,没有方法体。abstract(修饰的方法强制子类重写)不能与final(不让子类重写)组合。abstract(修饰的为了让子类看见,并强制重写)不能与private(不让子类访问)组合