日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java中常量final的用法_详解Java中final的用法

發布時間:2023/12/15 java 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中常量final的用法_详解Java中final的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文主要介紹了Java中final的使用方法,final是java的關鍵字,本文就詳細說明一下它的使用方法,需要的朋友可以參考下

概念

final 具有“不可改變的”的含義,可以修飾 非抽象類、非抽象成員方法和變量。

用 final 修飾的類不能被繼承,沒有子類。

用 final 修飾的方法不能被子類的方法覆蓋(重寫)。

用 final 修飾的變量表示常量,只能被賦一次值(聲明變量的時候)。

注:

final 不能用來修飾構造方法,因為“方法覆蓋”這一概念僅適用于類的成員方法,而不適用于類的構造方法,父類的構造方法和子類的構造方法之間不存在覆蓋的關系,因此用final修飾構造方法沒有任何意義。

父類中用 private 修飾的方法不能被子類的方法所覆蓋,因此可以理解為 private 類型的方法默認是 final 類型的。

final 類

把類定義為 final,使這個類不能被繼承。具體使用場景如下:

不是專門為繼承而設計的類,類本身的方法之間有復雜的調用關系。如果隨意創建這些類的子類,子類有可能會錯誤的修改了父類的實現細節。

處于安全的原因,類的實現細節不允許在被擴展。

在創建對象模型時,確信這個類不會再被擴展。

例如:JDK中的java.lang.String 類被定義為 final 類型。

public final class String{...}

final 方法

在某些情況下,出于安全原因,父類不允許子類覆蓋某個方法,此時可以把這個方法聲明為 final 類型。

例如:JDK中的java.lang.Object 類中,getClass()方法為 final 類型,而 equals() 方法不為 final 類型。

所有 Object 的子類都可以覆蓋 equals() 方法,但不能覆蓋 getClass() 方法。

final 變量

用 final 修飾的變量表示取值不會改變的常量。

例如:JDK中 java.lang.Integer 類中定義了兩個常量。

public static final int?? MIN_VALUE = 0x80000000;

public static final int?? MAX_VALUE = 0x7fffffff;

final 變量具有以下特征:

final修飾符可以修飾靜態變量、成員變量和局部變量,分別表示靜態常量、實例常量和局部常量。

public class Demo{

public static final int MAX_VALUE = 23; //靜態常量

public static final int MIN_VALUE = 10; //靜態常量

private final Date birthday = new Date(); //成員常量

}

靜態常量一般以大寫字母命名,單詞之間以“_”符號分開。

final修飾的成員變量必須初始化。

public class FinalTest {

final int a = 1; //成員常量 默認初始化

static final int b = 2; //靜態常量 默認初始化

final int c; //成員常量

static final int d; //靜態常量

public FinalTest(){

c = 3; //成員常量 未默認初始化,可在構造函數中初始化

}

static {

d = 4; //靜態常量 未默認初始化,可在靜態代碼塊中初始化

}

}

final 變量只能賦一次值,如果將引用類型的變量用 final 修飾,該變量只能始終引用一個對象,但可以改變對象的內容。

public class FinalTest {

String str = "";

public void print(){

System.out.println(str);

}

public static void main(String[] args){

final FinalTest finalTest = new FinalTest();

finalTest.str = "xixihaha";

finalTest.print();

}

}

總結:

實際程序中,通過 final 修飾符來定義常量,目的為:

提高程序的安全性。

提高代碼可維護性。

提供代碼可讀性。

以上就是本文的全部內容,希望對大家的學習有所幫助。

總結

以上是生活随笔為你收集整理的java中常量final的用法_详解Java中final的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。