抽象类
在Java中所有的对象都是通过类来描述的,但不是所有的类都用于描述对象,抽象类就是这样一种存在;
抽象类不能用于实例化对象,但它也可以拥有普通类一样的成员变量、成员方法和构造方法;
抽象类不能实例化对象,所以它必须被继承,才能被使用,继承抽象类的子类可以用于实例化;
一个类只可以继承一个抽象类,但一个类可以实现多个接口;
Java通过abstract关键字定义抽象类;
public abstract class className{ ... }
抽象方法
如果类包含的方法的具体实现需要由该类的子类来确定,这样的方法称为抽象方法;
声明抽象方法也使用关键字abstract;
抽象方法只有方法声明但没有方法的具体实现,方法名后面直接跟一个分号;
public abstract class Test{ public abstract int testMethod(); }
抽象类中不一定包含抽象方法,但如果一个类包含抽象方法则该类必须是抽象类;
包含抽象方法的类的任何子类必须具体实现父类的抽象方法或声明自身为抽象类;
构造方法和用static修饰符修饰的方法不能被声明为抽象方法;