zoukankan      html  css  js  c++  java
  • Java之fianl修饰符

    fianl修饰的变量不可以改变,一旦获得初始值,该final变量的值就不能被重新赋值。

    1.final成员变量(必需由程序员显式地指定初始值)

        类变量:必须在静态初始化块中或者声明该变量时指定初始值,二者选一

        实例变量:必须在非静态初始化块,或声明该变量,或构造器中指定初始值

    2.final局部变量

        final定义的局部变量可以在定义的时候指定默认值,也可以不指定默认值。如果在定义的时候没有指定默认值,则在以后的代码中可以指定默认值,但只能指定一次。

    3.final修饰基本类型变量和引用类型变量的区别

       当final修饰基本类型变量时,不能对基本类型对象变量重新赋值。但当final修饰引用类型变量时,它保存的仅仅是一个引用,final只是保证这个应用类型变量的引用地址不变,即一直引用同一个对象,但这个对象完全可以发生改变。

    public class Test()
    {
        public static void main(String[] args) 
        {
            //final修饰数组变量,是一个引用变量
            final int[] iArr = {5,6,7,8};
            //输出5 6 7 8
            System.out.println(Arrays.toString(iArr));
            //对数组元素进行赋值,合法
            iArr[2] = -8 ;
            //输出5 -8 7 8
            System.out.println(Arrays.toString(iArr)); 
        }
    }

    4.final方法
       final修饰的方法不可被重写

    5.final类

       final修饰的类不可以有子类,不可被继承

  • 相关阅读:
    LeetCode 485. Max Consecutive Ones
    LeetCode 367. Valid Perfect Square
    LeetCode 375. Guess Number Higher or Lower II
    LeetCode 374. Guess Number Higher or Lower
    LeetCode Word Pattern II
    LeetCode Arranging Coins
    LeetCode 422. Valid Word Square
    Session 共享
    java NIO
    非阻塞IO
  • 原文地址:https://www.cnblogs.com/mercuryli/p/4596279.html
Copyright © 2011-2022 走看看