程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java中final潤飾符實例剖析

java中final潤飾符實例剖析

編輯:關於JAVA

java中final潤飾符實例剖析。本站提示廣大學習愛好者:(java中final潤飾符實例剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是java中final潤飾符實例剖析正文


final潤飾符:

final潤飾成員變量必需有法式員顯示指定初始值。
類的Field:必需在靜態初始化塊中或聲明該Field時指定初始值。
實例Field:必需在非靜態初始塊中,聲明Field或許結構器中指定初始值。

final部分變量:必需由法式員顯示初始化。

final潤飾的根本變量和援用類型變量的差別?

final潤飾的根本變量:不克不及對根本變量從新賦值。
final潤飾的援用變量:只包管這個援用類型所援用的地址不會變,即
一向援用統一個對象,但這個對象完整可以產生轉變。


/**
  
*/
import java.util.*;
public class Demo5
{
 public static void main(String[] args)
 {
  final B b = new B(22);
  b.test();
  //正當  轉變值,但還是指向統一個援用
  b.setAge(20);
  System.out.println(b.getAge());
  // 不法
  // b = null;
  b.test2();
 }
}
 /**
 fianl潤飾成員變量
*/
class A
{
 //正當
 final int a = 10;
 //結構器或初始化化塊中指定初始值
 final String str;
 final int c;
 final static double d;
 {
  str = "hello";
  //不法
  // a = 100;
 }
 static
 {
  d = 100;
 }
 
 // 結構器可對沒在初始化塊中指定的Field指定初始值
 public A()
 {
  // 不法
  // str = "ddd";
  c = 1000;
 }
 public double changFinal()
 {
  // 不克不及再通俗辦法中為final指定初始值
  // return d = 1000.90;
  return 0;
 }
}
 /**
 fianl潤飾數組 對象
*/
class B
{
 private int age;
 public B()
 {
 
 }
 
 public B(int age)
 {
  this.age = age;
 }
 
 public void setAge(int age)
 {
  this.age = age;
 }
 
 public int getAge()
 {
  return this.age;
 }
 
 public void test()
 {
  final int[] arr={23,434,56,898};
  System.out.println(Arrays.toString(arr));
  Arrays.sort(arr);
  System.out.println(Arrays.toString(arr));
  arr[2] = 200;
  System.out.println(Arrays.toString(arr));
  //上面對Arr從新賦值 不法
  // arr = null;
 }
 
 /**
  加深對final的懂得
 */
 public void test2()
 {
  String str1 = "美妙將來";
  //直接援用常量池中的"美妙將來"
  String str2 = "美妙"+"將來";
  //true
  System.out.println(str1 == str2);
  
  String s1 = "美妙";
  String s2 = "將來";
  String s3 = s1+s2;
  //false  s1 s2只是變量 在編譯時代不克不及肯定
  //若想在編譯時代肯定 則用 final潤飾 s1 s2
  System.out.println(str1 == s3);
 }
}

小同伴們能否對java中final潤飾符有所懂得了呢,信任正文中曾經給年夜家說明的很清晰了,我這裡就不再煩瑣

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved