91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Java中對(duì) final 關(guān)鍵詞的介紹

科技綠洲 ? 來(lái)源:Java技術(shù)指北 ? 作者:Java技術(shù)指北 ? 2023-10-10 17:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、修飾變量

稍微有點(diǎn)Java基礎(chǔ)的都知道用final關(guān)鍵字修飾的變量稱為常量,常量的意思是不可更改。變量為基本數(shù)據(jù)類型,不可更改很容易理解,那么對(duì)于引用類型呢?不可能改的是其引用地址,還是對(duì)象的內(nèi)容?

我們首先構(gòu)造一個(gè)實(shí)體類:Person

package com.ys.bean;

/**
 * Create by YSOcean
 */
public class Person {
    private  String name;

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

    public String getName() {
        return name;
    }

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

接著根據(jù)創(chuàng)建一個(gè) Person 對(duì)象:

圖片
可以看到,首先通過(guò) final 關(guān)鍵字修飾一個(gè)對(duì)象 p,然后接著將 p 對(duì)象指向另一個(gè)新的對(duì)象,發(fā)現(xiàn)報(bào)錯(cuò),也就是說(shuō)final修飾的引用類型是不能改變其引用地址的。

接著我們改動(dòng) p 對(duì)象的 name 屬性:

圖片
發(fā)現(xiàn)程序沒(méi)有報(bào)錯(cuò)。

結(jié)論:被 final 修飾的變量不可更改其引用地址,但是可以更改其內(nèi)部屬性。

2、修飾方法

final 關(guān)鍵字修飾的方法不可被覆蓋。

在《Java編程思想》第 4 版 7.8.2 章節(jié) final 方法p176 頁(yè)這樣描述:使用 final 方法原因有兩個(gè):

①、第一個(gè)原因是把方法鎖定,以防止任何繼承類修改它的含義,這是出于設(shè)計(jì)的考慮:想要確保在繼承中使方法的行為保持不變,并且不會(huì)被覆蓋。

②、第二個(gè)原因是效率,在 Java 的早期實(shí)現(xiàn)中,如果將一個(gè)方法聲明為 final,就是同意編譯器將針對(duì)該方法的所有調(diào)用都轉(zhuǎn)為內(nèi)嵌調(diào)用,內(nèi)嵌調(diào)用能夠提高方法調(diào)用效率,但是如果方法很大,內(nèi)嵌調(diào)用不會(huì)提高性能。而在目前的Java版本中(JDK1.5以后),虛擬機(jī)可以自動(dòng)進(jìn)行優(yōu)化了,而不需要使用 final 方法。

所以final 關(guān)鍵字只有明確禁止覆蓋方法時(shí),才使用其修飾方法。

PS:《Java編程思想》中指出類中所有的 private 方法都隱式指定為 final 的,所以對(duì)于 private 方法,我們顯式的聲明 final 并沒(méi)有什么效果。但是我們創(chuàng)建一個(gè)父類,并在父類中聲明一個(gè) private 方法,其子類中是能夠重寫(xiě)其父類的private 方法的,這是為什么呢?

父類:Parent.class

package com.ys.bean;
/**
 * Create by YSOcean
 */
public class Parent {
    private void say(){
        System.out.println("parent");
    }
}

子類:Son.class

package com.ys.bean;
/**
 * Create by YSOcean
 */
public class Son extends Parent {

    private void say(){
        System.out.println("son");
    }

}

其實(shí)仔細(xì)看看,這種寫(xiě)法是方法的覆蓋嗎?我們通過(guò)多態(tài)的形式并不能調(diào)用到父類的 say() 方法:

圖片
并且,如果我們?cè)谧宇惖?say() 方法中,添加 @Override 注解也是會(huì)報(bào)錯(cuò)的。

圖片
所以這種形式并不算方法的覆蓋。

3、修飾類

final 修飾類表示該類不可被繼承。

也就是說(shuō)不希望某個(gè)類有子類的時(shí)候,用final 關(guān)鍵字來(lái)修飾。并且由于是用 final 修飾的類,其類中所有的方法也被隱式的指為 final 方法。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    3001

    瀏覽量

    116419
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1672

    瀏覽量

    51592
  • 數(shù)據(jù)類型
    +關(guān)注

    關(guān)注

    0

    文章

    237

    瀏覽量

    14185
  • final
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    2780
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    [討論]提高網(wǎng)站關(guān)鍵詞排名的28個(gè)SEO小技巧

    ) 內(nèi)容自然出現(xiàn)關(guān)鍵詞 內(nèi)容第一段和最后一段出現(xiàn)關(guān)鍵詞 H1,H2標(biāo)簽中出現(xiàn)關(guān)鍵詞 導(dǎo)出鏈接錨文本包含
    發(fā)表于 12-01 17:08

    TF-IDF測(cè)量文章的關(guān)鍵詞相關(guān)性研究

    停用詞的移除、大小寫(xiě)字母轉(zhuǎn)化和詞干提取。4)獲取查詢。獲取單詞權(quán)重,對(duì)于可疑文檔利用TF-IDF獲得關(guān)鍵詞,并排序得到相應(yīng)的關(guān)鍵詞列表。排在前n個(gè)的關(guān)鍵詞組成一個(gè)查詢,以此類推,本試驗(yàn)
    發(fā)表于 01-26 10:38

    亞馬遜代運(yùn)營(yíng) amazon Search term 關(guān)鍵詞填寫(xiě)的“神技”

    關(guān)鍵詞稍作調(diào)整,以及篩選出的關(guān)鍵詞在搜索結(jié)果的排名做出決定,是否應(yīng)該放在 search term ;3.放一些與自己產(chǎn)品相關(guān)的長(zhǎng)尾進(jìn)
    發(fā)表于 06-05 15:41

    HanLP關(guān)鍵詞提取算法分析詳解

    l 參考論文:《TextRank: Bringing Order into Texts》l TextRank算法提取關(guān)鍵詞Java實(shí)現(xiàn)l TextRank算法自動(dòng)摘要的Java實(shí)現(xiàn)這篇文章
    發(fā)表于 11-05 10:41

    關(guān)鍵詞優(yōu)化有哪些實(shí)用的方法

    的排名。還有一些實(shí)用的方法就是網(wǎng)站的一個(gè)關(guān)鍵詞布局,這里應(yīng)該設(shè)計(jì)seo算法的頁(yè)面相關(guān)匹配程度,這樣來(lái)提升網(wǎng)站頁(yè)面的整體相關(guān)性,其次是重要的位置部署好我們要做的關(guān)鍵詞,比如重要的一些標(biāo)簽來(lái)添加我們做
    發(fā)表于 08-11 01:19

    百度關(guān)鍵詞排名掉完了怎么辦

    一夜之間關(guān)鍵詞排名掉完了,沒(méi)有被K,也沒(méi)有出現(xiàn)違規(guī)操作,這是怎么回事呢?
    發(fā)表于 01-27 11:01

    #2023,你的 FPGA 年度關(guān)鍵詞是什么? #

    FPGA 年度關(guān)鍵詞,我的想法是“標(biāo)準(zhǔn)化”;今年的工作遇到了不少同事的issues,本身都是小問(wèn)題或者很細(xì)節(jié)的東西但是卻反復(fù)出現(xiàn)問(wèn)題,目前想到的最好的辦法是做好設(shè)計(jì)規(guī)則的標(biāo)準(zhǔn)化才能避免,不知道大家有沒(méi)有更好的建議?
    發(fā)表于 12-06 20:31

    基于強(qiáng)度熵解決中文關(guān)鍵詞識(shí)別

    文本的關(guān)鍵詞識(shí)別是文本挖掘的基本問(wèn)題之一。在研究現(xiàn)有基于復(fù)雜網(wǎng)絡(luò)的關(guān)鍵詞識(shí)別方法的基礎(chǔ)上,從整個(gè)復(fù)雜網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)特征的信息缺失角度來(lái)考察各節(jié)點(diǎn)的重要程度。提出強(qiáng)度熵測(cè)度來(lái)量化評(píng)估各節(jié)點(diǎn)重要程度,用于解決中文
    發(fā)表于 11-24 09:54 ?7次下載
    基于強(qiáng)度熵解決中文<b class='flag-5'>關(guān)鍵詞</b>識(shí)別

    java final關(guān)鍵字用法技巧匯總解析

    談到final關(guān)鍵字,想必很多人都不陌生,在使用匿名內(nèi)部類的時(shí)候可能會(huì)經(jīng)常用到final關(guān)鍵字。另外,Java
    發(fā)表于 12-01 11:02 ?1379次閱讀
    <b class='flag-5'>java</b> <b class='flag-5'>final</b><b class='flag-5'>關(guān)鍵</b>字用法技巧匯總解析

    基于自動(dòng)關(guān)鍵詞抽取方法

    自動(dòng)關(guān)鍵詞抽取是從文本或文本集合自動(dòng)抽取主題性或重要性的或短語(yǔ),是文本檢索、文本摘要等許多文本挖掘任務(wù)的基礎(chǔ)性和必要性的工作.探討了關(guān)鍵詞和自動(dòng)
    發(fā)表于 12-26 16:47 ?2次下載
    基于自動(dòng)<b class='flag-5'>關(guān)鍵詞</b>抽取方法

    JAVAstatic、final、static final如何區(qū)分

    當(dāng)我們?cè)谑褂?b class='flag-5'>java寫(xiě)類的屬性時(shí)總會(huì)用到很多的類型去修飾它,比如字符串String,整數(shù)型int,但是我們偶爾也會(huì)遇到 static、final、static final,那么他們的區(qū)別是什么呢?
    的頭像 發(fā)表于 02-14 14:55 ?1721次閱讀
    <b class='flag-5'>JAVA</b><b class='flag-5'>中</b>static、<b class='flag-5'>final</b>、static <b class='flag-5'>final</b>如何區(qū)分

    Java對(duì)static關(guān)鍵詞介紹

    static 是Java的一個(gè)關(guān)鍵字,可以用來(lái)修飾成員變量、修飾成員方法、構(gòu)造靜態(tài)代碼塊、實(shí)現(xiàn)靜態(tài)導(dǎo)包以及實(shí)現(xiàn)靜態(tài)內(nèi)部類,下面我們來(lái)分別介紹。 1、修飾成員變量 用 static 修飾成員變量
    的頭像 發(fā)表于 10-11 15:26 ?1108次閱讀
    <b class='flag-5'>Java</b><b class='flag-5'>中</b>對(duì)static<b class='flag-5'>關(guān)鍵詞</b>的<b class='flag-5'>介紹</b>

    搜索關(guān)鍵詞獲取商品詳情接口的設(shè)計(jì)與實(shí)現(xiàn)

    ? ??在電商、內(nèi)容平臺(tái)等應(yīng)用,用戶經(jīng)常通過(guò)輸入關(guān)鍵詞搜索商品并獲取詳情。設(shè)計(jì)一個(gè)高效、可靠的API接口是核心需求。本文將逐步介紹如何設(shè)計(jì)并實(shí)現(xiàn)一個(gè)“搜索關(guān)鍵詞獲取商品詳情”的接口,
    的頭像 發(fā)表于 10-20 15:37 ?504次閱讀
    搜索<b class='flag-5'>關(guān)鍵詞</b>獲取商品詳情接口的設(shè)計(jì)與實(shí)現(xiàn)

    淺談京東關(guān)鍵詞

    一、京東搜索關(guān)鍵詞的核心特性 支持中文直接搜索 :京東官網(wǎng)支持中文關(guān)鍵詞輸入(如 “筆記本電腦”、“華為手機(jī)”),但在 HTTP 請(qǐng)求,中文關(guān)鍵詞會(huì)被自動(dòng)進(jìn)行 URL 編碼 (將中文
    的頭像 發(fā)表于 01-04 10:40 ?634次閱讀

    京東關(guān)鍵詞的應(yīng)用

    京東關(guān)鍵詞應(yīng)用核心是圍繞搜索匹配與流量獲取,貫穿商品上架、搜索優(yōu)化、付費(fèi)推廣、精細(xì)化運(yùn)營(yíng)等全鏈路,以精準(zhǔn)匹配用戶需求、提升排名與轉(zhuǎn)化為目標(biāo)。以下是具體應(yīng)用與實(shí)操方法: 一、關(guān)鍵詞分類與篩選
    的頭像 發(fā)表于 01-20 09:05 ?506次閱讀