final关键字位于修饰符之后,返回值之前,可以用来修饰非抽象类,非抽象类类方法和变量。注意final不能修饰构造方法。
1.final修饰类:表示这个类不能被继承(Java中的String类是被final修饰的),但是该类仍然能够创建对象,并且可以利用该对象调用类中 的成员变量和成员方法。
注意final类中国的所有成员方法会被隐式指定为final方法。
注意一般不会将类设置为final,如果以后确定不会被继承或者为了保护该类,才可以使用final修饰
2.final修饰l方法:表示该方法不能被子类重写,但是依然可以被子类继承并可以通过子类对象调用该方法。
注意类的private方法会被隐式指定为final方法。
3.final修饰变量:无论是类的成员变量还是方法中的局部变量,都表示该变量的值不能再改变。
注意使用final修饰的成员变量必须在创建对象之前进行赋值,使用final修饰的局部变量使用前必须赋值,否则编译失败。
被final修饰的成员变量只能通过定义变量时候手动赋值和利用构造函数赋值两种赋值方式,不能通过set()函数赋值。