1.修饰类
修饰类就表示该类是最终类,不可以被继承,无子类。
2.修饰实例变量和类变量以及局部变量
这就表示该变量不可以被修改,也就是常量,如果被修饰的实例变量没有进行手动赋值,那么其所在类的每个构造方法都必须对该变量赋值。由于局部变量和普通成员变量和类变量不同,局部变量缺少其他两个变量在class文件拥有的属性,故局部变量前的修饰符无意义,也就是说final,static,private等修饰局部变量没有意义。
3.修饰成员方法
修饰后就不可以进行重写,也就表明该方法的实现必须通过该类的一个对象。
抽象类
1.作用以及含义:顾名思义,抽象类只是对一个类的抽象,是不可以实例化的,即是不可以创建子类对象,定义抽象类目的一是为了建立一个抽象的模型,使得类的设计层次清晰,二是提供类体系的通用接口(下面举例),以方便通过抽象类的通用接口处理类体系的所有类。
2.特点:抽象类必须要有抽象方法,并且要用abstract修饰,其他普通方法,构造方法等有没有就无要求。
抽象类的子类如果不重写实现抽象类的抽象方法,那么该子类也是抽象类。
3.作用详解以及举例
就比如改图,shape类并没有实际意义,只是为了定义该类体系的通用接口,因为子类重写了抽象类的方法,所以通过多态的形式,可以通过一个抽象类对象调用子类中任意一个类的重写后的方法,这个对象就是通用的接口。
注:抽象类如果没有子类那么他将没有意义,一般将抽象类的构造方法的访问权限设置为protected而不是public,这样就可以保证子类可以调用,而不被其他无关类进行调用。