Java關鍵字final紀要

Java關鍵字final
 
    作用:
        1. 修飾變量;
        2. 修飾方法;
        3. 修飾類;
 
    特點:
        1. 所修飾的變量不能重新賦值;
        2. 所修飾的方法不能重寫;
        3. 所修飾的類不能被繼承;
 
    語法:
        1. 修飾變量:
            final 數據類型 變量名稱;
 
        2. 修飾方法:
            訪問修飾符 final 數據返回類型 接口類型(參數列表);
 
        3. 修飾類:
            final class 類名 {}
說明:
    1. 對於基本類型來說,不可變是指變量當中數據不可改變;
    2. 對於引用類型來說,不可變是指變量中的地址不可改變;
以下給出一則小Demo示例
package www.jingdong.com.finals.entity;

public class Student {
	
    private String name;

    public Student() {
    }

    public Student(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}
package www.jingdong.com.finals.test;

import www.jingdong.com.finals.entity.Student;


public class StudentT {

	/**
	 * 引用類型修飾參數驗證!
	 * @param args
	 */
	public static void main(String[] args) {
		
		// 實例化Student對象!
	    final Student stu3 = new Student("1111");
	    
	    // 打印對象參數 !
	    System.out.println(stu3.getName());
	    
	    // 重新賦值對象參數!
	    stu3.setName("2222");
	    
	    // 打印對象參數!
	    System.out.println(stu3.getName());
	}

}
package www.jingdong.com.finals.test;

public class StudentT {

	/**
	 * 基本類型修飾參數驗證!
	 * @param args
	 */
	public static void main(String[] args) {
		
		// 初始化參數!
	    final int num = 22;
	    
	    // 打印參數 !
	    System.out.println(num);
	    
	    // 編譯錯誤;
	    // num = 696;
	    
	    // 打印對象參數!
	    System.out.println(num);
	}

}
說明:
    3. 對於類、方法來說abstract關鍵字不能同final關鍵字同時出現;
        因爲當final關鍵字修飾一個方法的時候這個方法就是一個最終的方法,也就不能被覆蓋重寫;
        而當final關鍵字修飾一個類的時候這個類不可能有任何子類;那麼該對象的所有成員方法都將無法進行重寫覆蓋;
        由於final所修飾的類不可能被實現其中的成員方法,故而不能被繼承;
        反過來說所有的類不能以final修飾的類作爲父類;
        以下給出一則小Demo示例
以下給出一則小Demo示例
public final class Fu{}

// 不能使用一個final類來作爲父類 
public class Zi /** extends */ Fu{}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章