前言
java复习,临时理解的基础,老是记不住abstract和final对类、方法的修饰关系,在此记录一下。
abstract & final
abstract
抽象类的意义:为什么叫抽象类?是因为我们在java中定义的类对应到实际生活中就是个抽象的东西,抽象的含义就是人类难以想象的东西,非具体的东西。而抽象类的目的就是不能进行具体描述一个对象,所以抽象类不能实例化!
对类修饰而言:抽象类中可以含有抽象方法和普通方法。而反过来,有抽象方法,那么一定是抽象类。因为抽象方法的目的就是让其子类进行实现,如果还是抽象方法,说明此方法没有被实例化对象(非抽象类)所实现。
一句话概述:抽象类的目的就是为了让其子类实现它本身的方法!(因为抽象!抽象一词理解后就好理解了。就像梵高的画一样。)
final
final的意义:修饰类、方法、变量,其含义为不变的。final修饰的类不能被继承。同理,被修饰的方法也不能进行修改。
一句话概述:final修饰的东西不能被修改,不能被继承。
二者之间的关系
以继承为例:
abstract的意义是为了让子类实现方法而存在,而final的意义是不让子类进行修改,它们是处于一个互斥的意义。当二者同时修饰于一种东西(无论是类,还是方法)上,则会报错.
总结
总结:abstract和final不能共生!……