• final修饰符(3)-基本类型变量和引用类型变量的区别


         final修饰基本类型变量

    当使用final修饰基本类型变量时,不能对基本类型变量重新赋值,因此基本类型变量不能被改变

         final修饰引用类型变量

    当使用final修饰引用类型变量时,它保存的仅仅是一个引用,final只能保证这个引用类型变量所引用的地址不会改变,即一直引用同一个对象,但这个对象完全可以改变

    package com.j1803.finalTest;
    import java.util.Arrays;
    public class FinalReferenceTest {
     public static void main(String[] args) {
      //final修饰数组变量,iArr是一个引用变量
      final int [] iArr={5,6,12,9};
      System.out.println(Arrays.toString(iArr));
      //对数组元素进行排序,合法
      Arrays.sort(iArr);
      System.out.println(Arrays.toString(iArr));
            //对数组iArr重新赋值,合法
      iArr[2]=-100;
      //下面语句对iArr重新赋值,非法
      //iArr=null;
           //final修饰一个Person变量,p是一个引用变量
      final Person p=new Person(22);
      //改变Person对象p的实例变量,合法
      p.setAge(45);
      System.out.println(p.getAge());
      //非法
      //p=null;
     }
    }
    class Person{
     private int age;
     public int getAge() {
      return age;
     }
     public void setAge(int age) {
      this.age = age;
     }
     public Person(int age) {
      super();
      this.age = age;
     }
     
    }
  • 相关阅读:
    java实现拼出漂亮的表格
    java实现金额组合
    java实现金额组合
    java实现金额组合
    java实现金额组合
    java实现Playfair 密码
    Mblog 部署手册
    配置Tomcat apr运行模式
    Duboo入门示例(Idea开发环境)
    Font-Awesome最新版完整使用教程
  • 原文地址:https://www.cnblogs.com/shadow-shine/p/9602129.html
Copyright © 2020-2023  润新知