关于final修饰范围及常见错误
java中final常用来修饰属性,方法和类。
在java中有许多包装类以及String类都为fianl修饰,如果一个类或方法你认为功能够全面,都可以用final来修饰,其独一无二的特性在某些时候至关重要。
final修饰数据类型:
final修饰的基本数据时会转变为常量,一旦被赋值,不可改变。(用final修饰的成员属性无默认值,必须手动赋值)
示例:
final修饰引用类型时不可二次赋值。(引用类型所指向的对象中的内容可以改变)
示例:
final修饰方法:
final修饰的方法只能够被继承,不能够覆盖。(能够把方法锁定,以防任何继承类修改它。)
示例:
final修饰类:
final修饰的类不能够被继承,并且此类的设计已被认为很完美而不需要进行修改或扩展。(如String类)
对于final类中的成员属性,你可以定义其为final,也可以不是final。
对于方法,由于所属类为final的关系,自然也就成了final型的。也可以明确的给final类中的方法加上一个final。
示例: