final修飾變量


 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;
 }
 
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM