final关键字特点

    xiaoxiao2021-03-25  153

    final可以修饰类,该类不能被继承。 final可以修饰方法,该方法不能被重写。(覆盖,复写)final可以修饰变量,该变量不能被重新赋值。因为这个变量其实常量。

    面试题:

    final修饰局部变量,修饰基本类型,基本类型的值不能发生改变;修饰引用类型,引用类型的地址值不能改变,但是该对象堆内存的值是可以改变的。

    final修饰变量的初始化时机 A:被final修饰的变量只能赋值一次。 B:在构造方法完毕前。(非静态的常量) class Demo { //int num = 10; //final int num2 = 20; int num; final int num2; { //num2 = 10; } public Demo() { num = 100; //无法为最终变量num2分配值 num2 = 200; } } class FinalTest2 { public static void main(String[] args) { Demo d = new Demo(); System.out.println(d.num); System.out.println(d.num2); } } /*被final修饰的变量只能被赋值一次,若num2定义为final,并且在构造代码块中为num2赋值,那么构造方法中的赋值语句就会报错 */
    转载请注明原文地址: https://ju.6miu.com/read-22194.html

    最新回复(0)