final變量、方法與類


學習內容:

一、final變量

1.設定為final的變量,其值不可被改變。

2.final定義的變量必須在聲明時對其進行賦值操作。

3.final可以修飾對象。被修飾為final的對象,只能恆定指向一個對象。

4.一個既是final又是static的字段只占一段不能改變的存儲空間。

5.定義final常量時需要用大寫字母命名,並且中間使用下划線連接,這是Java中的編碼規則。

下面通過一段代碼區分定義為final與定義為static、final的不同:

package final相關知識;

import java.util.Random;

public class FinalStaticData {

private static Random rand=new Random();//實例化一個Random類對象
private final int a1=rand.nextInt(10);//產生一個0~10的隨機數
private static final int a2=rand.nextInt(10);//產生一個0~10的隨機數
public static void main(String[] args) {
FinalStaticData data1=new FinalStaticData();
System.out.println("a1產生的隨機數為:"+data1.a1);
System.out.println("a2產生的隨機數為:"+data1.a2);

FinalStaticData data2=new FinalStaticData();
System.out.println("a1產生的隨機數為:"+data2.a1);
System.out.println("a2產生的隨機數為:"+data2.a2);
}

}

運算截圖:

 

 

 

 由程序可見,每次重新實例化對象時定義為final的常量a1的值都會改變,而定義為static、final的常量a2的值不變,因為在內存中為a2開辟了一個恆定不變的區域。

二、final方法

1.定義為final的方法無法被重寫。

2.定義為final的方法執行效率更高。

3.一個被private修飾的方法隱式被指定為final類型。

三、final類

1.定義為final的類不能被繼承。

2.final類的語法:

final 類名{}

3.如果將某個類設置為final類型,其所有方法都被設置為final類型,但其成員變量可以自定義。

明天任務:內部類

 


免責聲明!

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



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