zoukankan      html  css  js  c++  java
  • java中final的理解

    final修饰变量表示变量初始化后就不能再改变。

    一、对于基础类型来说,用final修饰后其值不可以改变。

    1.

    final int a;

    a = 5;

    2.final int a = 5;

    二、对于引用类型来说,用final修饰后其引用的对象不可改变,但可以改变对象的内容。

    java中用final修饰函数的参数,只是函数体内不能修改这个形参所指向的对象,但是仍能修改对象内容

    void  f ( final String str){

      str = new String();//不允许

      str.toLowerCase();//允许

    }

    三、final 与 static final

    public class T {

      final int a = new Random(10).nextInt();

      static final int b = new Random(10).nextInt();

      public static void main(String[] args) {

        T t1 = new T();

        T t2 = new T();

        System.out.println(t1.a);

        System.out.println(t1.b);

        System.out.println(t2.a);

        System.out.println(t2.b);

      }

    }

    结果:

    t1.a != t2.a;

    t1.b == t2.b;

    四、例子

    1、

    final int i = 0;

    i++;//允许

    2、

    final String s = "abc";

    s.toLowerCase();//允许

    3、

    final int[] a = {1,2,3};

    a[1] = 1;//允许

    a = new int[5];//不允许

    大学之道,在明明德,在亲民,在止于至善
  • 相关阅读:
    转 哪个家伙说“网站去.Net化”?
    javascript prototype
    Spring作用,MVC容器作用
    javascript 闭包
    导入Excel数据至Access 宁静以致远
    My first mobile message 宁静以致远
    MyEclipse遇到的错误
    JAVAEE错误处理
    JavaEE ActionForm的高级应用
    hibernate
  • 原文地址:https://www.cnblogs.com/yaolin/p/3900415.html
Copyright © 2011-2022 走看看