網(wǎng)站首頁 編程語言 正文
1. this關(guān)鍵字
this關(guān)鍵字是對一個對象的默認(rèn)引用,每個實例方法內(nèi)部都有一個this引用變量,指向調(diào)用這個方法的對象,其實就是指當(dāng)前對象或正在創(chuàng)建的對象的引用,通俗點理解本對象自己
(1).this.屬性名:
表示本對象自己的屬性使用this調(diào)用成員變量,解決變量和局部變量的同名沖突
(2)this.方法名:
表示本對象自己的方法
(3)this關(guān)鍵字
還有另外一種很重要的用法,那就是在this關(guān)鍵字的后面加上小括號,這樣就表示調(diào)用了某個類自身的構(gòu)造方法
//構(gòu)造方法1
public Person(String name,int age,double height){
this(name,age); //調(diào)用構(gòu)造方法2
this.height=height;
}
//構(gòu)造方法2
public Person(String name,int age){
this.name=name;
this.age=age;
}
如構(gòu)造方法1中調(diào)用了構(gòu)造方法2
(4).外部類名.this.屬性
this關(guān)鍵字在我們編寫內(nèi)部類代碼的時候,還有一種用途,那就是區(qū)分屬性或方法的具體歸屬
用super關(guān)鍵字調(diào)用。
2.super關(guān)鍵字
當(dāng)需要在子類中調(diào)用父類的構(gòu)造方法時,可以調(diào)用super。當(dāng)函數(shù)參數(shù)或函數(shù)中的局部變量和成員變量同名時,成員變量會被屏蔽,此時需要訪問成員變量則需要“this.成員變量名”的方式來引用成員變量。super關(guān)鍵字和this關(guān)鍵字的作用類似,都是將屏蔽了的成員變量,成員方法變得可見、可用,也就是說,可以用來引用被屏蔽的成員變量或成員方法。不過,super是用在子類中,目的只有一個,就是訪問直接父類中被屏蔽的內(nèi)容,進(jìn)一步提高代碼的重用性和靈活性。super關(guān)鍵字不僅可以訪問父類的構(gòu)造方法,還可以訪問父類的屬性、一般方法等。
通過super關(guān)鍵字訪問父類的成員的語法格式:
訪問父類的構(gòu)造方法: super(參數(shù))“super()” 初始化當(dāng)前對象的父類特征
訪問父類的屬性和方法:super.<父類屬性/方法>? ? ”?super.“
1).super只能出現(xiàn)在子類(子類的方法和構(gòu)造方法中)而不是在其他位置
2),super只能訪問父類的成員:如屬性、方法、構(gòu)造方法
3).具有訪問權(quán)限的限制,如無法通過super訪問父類的private的成員
- this是引用。this也保存內(nèi)存地址,this也指向任何對象。
-
super 不是引用。super也不保存內(nèi)存地址,super也不指向任何對象。
super 只是代表當(dāng)前對象內(nèi)部的那一塊父類型的特征。
3. static關(guān)鍵字
一個類可以創(chuàng)建n個對象。如果n個對象中的某些數(shù)據(jù)需要共用,就需要使用static關(guān)鍵字修飾這些數(shù)據(jù)。不需要實例化,
Java中,一般情況下調(diào)用類的成員都需要先創(chuàng)建類的對象,然后同過對象進(jìn)行調(diào)用。使用static關(guān)鍵字可以實現(xiàn)通過類名加"."直接調(diào)用類的成員,不需要創(chuàng)建類的對象。使用staic修飾的屬性和方法屬于類,不屬于具體的某個對象.被static關(guān)鍵修飾的方法和或者變量不需要依賴對象進(jìn)行訪問。
mian方法必須要有static修飾
static的用法:
static可以用來修飾類的成員方法、類的成員變量、類中的內(nèi)部類(以及用static修飾的內(nèi)部類中的變量、方法、內(nèi)部類),另外可以編寫static代碼塊來優(yōu)化程序性能。
在實際開發(fā)中,用static關(guān)鍵字修飾屬性的最常用場景就是定義使用final關(guān)鍵字修飾的常量。使用final
注意:
1.常量名一般由大寫字母組成
2.聲明常量時一定要賦值初值
3.靜態(tài)方法只能訪問靜態(tài)成員
4.靜態(tài)代碼塊(自上而下只執(zhí)行一次)
5.static不允許與this連用(this是指代對象的)
6靜態(tài)方法里不允許出現(xiàn)this與super
7.java中static不允許修飾局部變量
原文鏈接:https://blog.csdn.net/m0_58336322/article/details/125750047
相關(guān)推薦
- 2022-05-07 LINQ教程之使用Lambda表達(dá)式_實用技巧
- 2022-08-15 利用calc函數(shù)實現(xiàn)簡單的自適應(yīng)
- 2022-10-28 keepalived對nginx進(jìn)行高可用搭建及原理詳解_nginx
- 2023-07-07 根據(jù)文件后綴名稱獲取contentType,其中Minio上傳文件會用到contentType
- 2022-05-12 uni-app混合原生安卓開發(fā)
- 2022-11-12 react項目中@路徑簡單配置指南_React
- 2022-12-11 詳解Android?GLide圖片加載常用幾種方法_Android
- 2022-05-10 手寫Promise中all、race、any方法
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支