在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Java/ Java final關鍵字
Java for循環(huán)
Java接口
Java是什么?
Java命名約定
java中方法重載和方法重寫的區(qū)別
Java運算符
Java抽象類
Java快速入門
Java實例初始化程序塊
Java靜態(tài)綁定和動態(tài)綁定
Java do-while循環(huán)
Java對象克隆
Java Object類
Java聚合
Java繼承
Java this關鍵字
Java虛擬機內(nèi)部體系結(jié)構(gòu)
Java構(gòu)造器(構(gòu)造方法)
Eclipse安裝和配置
Java多態(tài)
Java方法重載
Java while循環(huán)
Java教程
Java按值調(diào)用和引用調(diào)用
Java strictfp關鍵字
Java封裝
Java語言特點
Java數(shù)組
Java instanceof運算符
Java包裝類
Java命令行參數(shù)
Java包
Java面向?qū)ο螅∣OP)概念
簡單Java程序
Java基礎實例程序
Java對象和類
Java continue語句
Java抽象類和接口的區(qū)別
C++ VS Java比較
Java if/else語句
Java switch語句
Java歷史
Java變量和數(shù)據(jù)類型
安裝Java環(huán)境(Linux)
Java JDK安裝和配置
Hello Java程序的內(nèi)部細節(jié)
Java break語句
Java方法重寫
Java Unicode編碼系統(tǒng)
怎么樣開始學習Java編程?
對象和類之間的區(qū)別
Java訪問修飾符
Java super關鍵字
Java注釋
JDK,JRE和JVM之間的區(qū)別
Java final關鍵字
Java static關鍵字

Java final關鍵字

java中的final關鍵字用于限制用戶修改變量或重寫一個類或方法。 java final關鍵字可以在許多上下文中使用。 final可以是:

  1. 變量
  2. 方法

final關鍵字可以應用于變量,沒有值的final變量稱為空白變量或未初始化的最終變量。 它只能在構(gòu)造函數(shù)中初始化。 空白最終變量也可以是靜態(tài)的,它將僅在靜態(tài)塊中初始化。 在之后的文章中我們將詳細學習這些。 下面先學習final關鍵字的基礎知識。

1. Java final變量

如果將變量設置為final,則不能更改final變量的值(它將是常量)。final關鍵字應用有以下幾點需要注意:

  1. 禁止變量的值被改變;
  2. 禁止方法重寫;
  3. 禁止類繼承;

final變量的示例

要改變final變量的值,這是不可能的,因為一個final變量一次分配一個值永遠不能更改。如下試圖修改 speedlimit 變量的值為 400,這是不允許的。

class Bike9 {
    final int speedlimit = 90;// final variable

    void run() {
        speedlimit = 400; // 不可以修改 final 變量的值
    }

    public static void main(String args[]) {
        Bike9 obj = new Bike9();
        obj.run();
    }
}// end of class

上面代碼執(zhí)行后生成以下結(jié)果 -

[編譯錯誤]Compile Time Error

2. Java final方法

如果任何方法聲明為final,則不能覆蓋它。

final方法的示例,下面方法是不能覆蓋的 -

class Bike {
    final void run() {
        System.out.println("running");
    }
}

class Honda extends Bike {
    void run() { // final方法,不可以重寫
        System.out.println("running safely with 100kmph");
    }

    public static void main(String args[]) {
        Honda honda = new Honda();
        honda.run();
    }
}

上面代碼執(zhí)行后生成以下結(jié)果 -

[編譯錯誤]Compile Time Error

3. Java final類

如果把任何一個類聲明為final,則不能擴展它。final類的示例

final class Bike {
}

class Honda1 extends Bike { // 不可以擴展 final 類
    void run() {
        System.out.println("running safely with 100kmph");
    }

    public static void main(String args[]) {
        Honda1 honda = new Honda();
        honda.run();
    }
}

上面代碼執(zhí)行后生成以下結(jié)果 -

[編譯錯誤]Compile Time Error

問題:是否可繼承final方法?

答: 是的,final方法是繼承的,但是不能覆蓋它。 例如:

class Bike {
    final void run() {
        System.out.println("running...");
    }
}

class Honda2 extends Bike {
    public static void main(String args[]) {
        new Honda2().run();
    }
}

上面代碼執(zhí)行后生成以下結(jié)果 -

Output:running...

問題:什么是空白或未初始化的final變量?

在聲明時未初始化的final變量稱為空白final變量。

如果要在創(chuàng)建一個對象時初始化變量,并且變量在初始化后就不會被改變, 這是非常有用的。 例如員工的PAN CARD號碼。它只能在構(gòu)造函數(shù)中初始化。

空白final變量的示例

class Student{  
    int id;  
    String name;  
    final String PAN_CARD_NUMBER;  
    ...  
}

問題:可以初始化空白的final變量嗎?

答: 是的,但只能在構(gòu)造函數(shù)中。 例如:

class Bike10 {
    final int speedlimit;// blank final variable

    Bike10() { // 在構(gòu)造函數(shù)中初始化
        speedlimit = 70;
        System.out.println(speedlimit);
    }

    public static void main(String args[]) {
        new Bike10();
    }
}

上面代碼執(zhí)行后生成以下結(jié)果 -

70

靜態(tài)空白final變量

在聲明時未初始化的靜態(tài)final變量稱為靜態(tài)空白final變量。 它只能在靜態(tài)塊中初始化。

靜態(tài)空白final變量的示例

class A {
    static final int data;// static blank final variable
    static {
        data = 50;
    }

    public static void main(String args[]) {
        System.out.println(A.data);
    }
}

問題:什么是final參數(shù)?

如果將任何參數(shù)聲明為final,則不能更改它的值。

class Bike11 {

    int cube(final int n) {
        n = n + 2;// can't be changed as n is final
        // n*n*n; // 不能修改 n 的值
        return n;
    }

    public static void main(String args[]) {
        Bike11 b = new Bike11();
        b.cube(5);
    }
}

上面代碼執(zhí)行后生成以下結(jié)果 -

[編譯錯誤]Compile Time Error

上一篇:Java快速入門下一篇:Java是什么?