抽象类与抽象方法
什么是抽象类
一、用abstract关键字修饰的类叫抽象类
public abstract class T {
//抽象类中可以包含变量、常量,抽象方法,非抽象方法
}
抽象类的特点
一、抽象类不能实例化对象,只能被继承;
抽象类不能使用new方法进行实例化,即没有具体实例对象。
对象不能由抽象类直接创建,只可以通过抽象类派生出新的子类,再由其子类来创建对象(抽象类不能使用final修饰)。
二、抽象类中不一定包含抽象方法,但包含抽象方法的类一定是抽象类;
抽象类中可以包含成员变量,成员方法,静态方法,构造方法,final修饰的方法,抽象方法(可有多个)。
三、抽象类的子类,必须重写抽象父类中所有的抽象方法,否则,编译报错。除非该子类也是抽象类;
四、抽象类是有构造器的(所有类都有构造器);
什么是抽象方法
一、使用abstract修饰符修饰的方法被称为抽象方法;
抽象方法不能有方法主体,格式如下(分号结尾):
public abstract class T {
//定义抽象方法,来解决父类方法的不确定性。
public abstract void t();
}