桦甸市城乡建设局网站,信阳网站建设招聘,最强的网站建设电话,福州公司网站建设一、static关键字
static修饰位置表示含义变量表示这是一个类变量#xff0c;类加载时分配在堆中方法静态方法#xff0c;不依赖于对象可直接通过类标识访问代码块静态代码块#xff0c;只在类加载初始化阶段时执行一次内部类静态嵌套类#xff0c;表示只是放在外部类的文…一、static关键字
static修饰位置表示含义变量表示这是一个类变量类加载时分配在堆中方法静态方法不依赖于对象可直接通过类标识访问代码块静态代码块只在类加载初始化阶段时执行一次内部类静态嵌套类表示只是放在外部类的文件里其他的和普通类没区别
二、final关键字
final为不可变修饰符通常我们希望某个元素是固定状态的不可修改的就会用final关键字去修饰
final修饰位置表示含义例子类表示这个类是不可被继承的String类类变量表示这个类变量在声明时就必须初始化并且初始化完成后就不可变了Double.MAX_VALUE成员变量表示这个成员变量必须在对象创建完成前被初始化并且初始化完成后就不可变了类加载器的parent变量实例方法表示这是一个非虚方法子类不可重写ClassLoader的defineClass()方法
final的好处
1、final 关键字提高了性能JVM会缓存 final 变量。
2、final 变量可以安全的在多线程环境下进行共享而不需要额外的同步开销。
总结
1、final 关键字可以用于修饰类、类变量、成员变量以及方法。
2、final 成员变量必须在声明的时初始化或者在构造器中初始化否则报编译错误。
3、final 变量不能再次赋值引用类型指向的对象中的数据还是可以修改的final 方法不能被重写final 类不能被继承。
4、在匿名类中声明的变量都必须是 final 变量。
5、接口中声明的所有变量本身是 final 的。
6、修饰类时final 和 abstract 这两个关键字是反相关的final 类就不可能是 abstract 的。
参考文章java final 详解