「这是我参与2022首次更文挑战的第3天,活动详情查看:2022首次更文挑战」。
前言
这是新的篇章,为大家带来基础部分提高,俗话说得好,万丈高楼平地起,打牢基础是根本。在java中final修饰词被众多程序员使用在常量表示与使用内部类的时候需要访问方法变量会使用到final修饰词,而static经常被用于初始化类使用。本章我们带大家了解一下final与static修饰词的正确用法。
final
final 英文:最后、最终 , 在程序中大部分表示最终,在引用方面而已。
变量
final修饰字段时,该字段必须是一个常量,比如 final String a = "test",那么你后面的程序在修改a时会报错,编译阶段就给拦下来。但是有个特殊情况就是final List a = ['test','test'] , 那么你不能修改a的引用地址,但你可以继续给改数组加值。
方法
修饰方法时方法不可以被重写
类 断子绝孙
final修饰类会给类中所有方法隐式指定为final方法,但是成员变量可以根据需要来设为final final在修饰类时那么这个类就是一个断子绝孙的状态,当然这是个玩笑话,实际上被类被修饰后不允许再次继承,标准的使用方法正如String类,在java中String类是一个final类。
static
static是一个静态资源,实例之间是共享的,注意实施!,一个实例static中内容修改其他实例也会修改
变量
static在修饰变量时可以直接通过类名点变量名来直接引用,不需要new一个实例对象出来
静态代码块
static { } 这样的写法,写在类中,只要初始化类就会加载静态代码块中的操作,常用来给类中字段赋值。并且只执行一次,也就是类初始化的时候。
加载顺序
静态代码块加载顺序 先父类 在子类,只会加载一次
方法
static修饰方法时,可以通过jdk 1.5以后的新特性 静态导入,来实现类名不写也可以直接调用方法。