视频解析网站怎么做的,编程软件哪个好用,长春做网络优化的公司,wordpress 媒体库设置可以修饰类、属性、方法和局部变量。
何时使用#xff1a;
1、不希望某个类被继承#xff0c;用final修饰该类。
2、不希望父类的某个方法被子类覆盖/重写#xff0c;用final修饰该方法。
3、不希望类的某个属性的值被修改#xff0c;用final修饰该属性。
4、不希望某… 可以修饰类、属性、方法和局部变量。
何时使用
1、不希望某个类被继承用final修饰该类。
2、不希望父类的某个方法被子类覆盖/重写用final修饰该方法。
3、不希望类的某个属性的值被修改用final修饰该属性。
4、不希望某个局部变量被改变用final修饰。 Java中final和static修饰的变量是在什么时候赋值的_程序IT圈的博客-CSDN博客
链接中的总结单拎出来
①单独用final修饰的变量也有可能在字节码找到对应的ConstantValue属性但是会被JVM忽略掉。
②final修饰的实例属性在实例创建的时候才会赋值。
③static修饰的类属性在类加载的准备阶段赋初值初始化阶段赋值。
④staticfinal修饰的String类型或者基本类型常量JVM规范建议在初始化阶段赋值但是HotSpot VM直接在准备阶段就赋值了。
⑥staticfinal修饰的其他引用类型常量赋值步骤和第二点的流程是一样的。 细节
1、局部变量使用final修饰它的值不允许改变即 如果是基本数据类型则不允许值改变。 如果是引用类型它的值就是地址只要地址不变就行指向的对象自身属性可以改变。 2、final修饰的属性也叫常量一般用XX_XX_XX来命名。 3、final修饰的属性定义时必须赋初值以后不可修改可在以下时刻赋初值 ①定义时。 ②构造器中。 ③代码块中。 4、若final修饰的属性是静态的(static) ,则只能在以下赋初值不能在构造器赋初值。 ①定义时。 定义时直接赋值赋值操作将会在类加载的准备阶段就赋值完毕。 好处可以让代码更加简洁 坏处如果赋值的操作比较耗时就会影响类的加载速度。 ②代码块。(前提是不能在定义时赋值) 常量的初始化被延迟到静态代码块执行时即初始化阶段。 可以在需要复杂操作时实现更好的控制而且可以在静态代码块中捕获异常。 5、final不能修饰构造方法。 6、final static往往搭配使用效率高不会导致类加载底层编译器做了优化。 7、方法形参也可以使用final修饰。