final和abstract的关系
互斥关系
abstract定义的抽象类作为模板让子类继承,final定义的类不能被继承
抽象方法定义通用功能让子类重写,final定义的方法子类不能重写
抽象类的特征
1.得到了抽象方法,但是失去了创建对象的能力
问题:抽象类为什么不能创建对象???
对象是什么?对象是具体的东西,创建对象也就是类的实例化,把一个模板形象化表述出来,因为抽象类自己都不知道自己是什么,所以就没发new出来一个对象,抽象类没说具体的逻辑,想到于我要做模板的事务,抽象类自己也弄不清楚,所以就没发new出来对象
2.类有的成员(成员变量,方法,构造类)抽象类都具备
3.抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
4.一个类继承了抽象类必须重写完抽象类的全部抽象方法,否则这个类也必须定义成抽象类
5.不能用abstract修饰变量,代码块,构造器