網站首頁 編程語言 正文
1. this關鍵字
this關鍵字是對一個對象的默認引用,每個實例方法內部都有一個this引用變量,指向調用這個方法的對象,其實就是指當前對象或正在創建的對象的引用,通俗點理解本對象自己
(1).this.屬性名:
表示本對象自己的屬性使用this調用成員變量,解決變量和局部變量的同名沖突
(2)this.方法名:
表示本對象自己的方法
(3)this關鍵字
還有另外一種很重要的用法,那就是在this關鍵字的后面加上小括號,這樣就表示調用了某個類自身的構造方法
//構造方法1
public Person(String name,int age,double height){
this(name,age); //調用構造方法2
this.height=height;
}
//構造方法2
public Person(String name,int age){
this.name=name;
this.age=age;
}
如構造方法1中調用了構造方法2
(4).外部類名.this.屬性
this關鍵字在我們編寫內部類代碼的時候,還有一種用途,那就是區分屬性或方法的具體歸屬
用super關鍵字調用。
2.super關鍵字
當需要在子類中調用父類的構造方法時,可以調用super。當函數參數或函數中的局部變量和成員變量同名時,成員變量會被屏蔽,此時需要訪問成員變量則需要“this.成員變量名”的方式來引用成員變量。super關鍵字和this關鍵字的作用類似,都是將屏蔽了的成員變量,成員方法變得可見、可用,也就是說,可以用來引用被屏蔽的成員變量或成員方法。不過,super是用在子類中,目的只有一個,就是訪問直接父類中被屏蔽的內容,進一步提高代碼的重用性和靈活性。super關鍵字不僅可以訪問父類的構造方法,還可以訪問父類的屬性、一般方法等。
通過super關鍵字訪問父類的成員的語法格式:
訪問父類的構造方法: super(參數)“super()” 初始化當前對象的父類特征
訪問父類的屬性和方法:super.<父類屬性/方法>? ? ”?super.“
1).super只能出現在子類(子類的方法和構造方法中)而不是在其他位置
2),super只能訪問父類的成員:如屬性、方法、構造方法
3).具有訪問權限的限制,如無法通過super訪問父類的private的成員
- this是引用。this也保存內存地址,this也指向任何對象。
-
super 不是引用。super也不保存內存地址,super也不指向任何對象。
super 只是代表當前對象內部的那一塊父類型的特征。
3. static關鍵字
一個類可以創建n個對象。如果n個對象中的某些數據需要共用,就需要使用static關鍵字修飾這些數據。不需要實例化,
Java中,一般情況下調用類的成員都需要先創建類的對象,然后同過對象進行調用。使用static關鍵字可以實現通過類名加"."直接調用類的成員,不需要創建類的對象。使用staic修飾的屬性和方法屬于類,不屬于具體的某個對象.被static關鍵修飾的方法和或者變量不需要依賴對象進行訪問。
mian方法必須要有static修飾
static的用法:
static可以用來修飾類的成員方法、類的成員變量、類中的內部類(以及用static修飾的內部類中的變量、方法、內部類),另外可以編寫static代碼塊來優化程序性能。
在實際開發中,用static關鍵字修飾屬性的最常用場景就是定義使用final關鍵字修飾的常量。使用final
注意:
1.常量名一般由大寫字母組成
2.聲明常量時一定要賦值初值
3.靜態方法只能訪問靜態成員
4.靜態代碼塊(自上而下只執行一次)
5.static不允許與this連用(this是指代對象的)
6靜態方法里不允許出現this與super
7.java中static不允許修飾局部變量
原文鏈接:https://blog.csdn.net/m0_58336322/article/details/125750047
相關推薦
- 2022-10-17 Kotlin編程循環控制示例詳解_Android
- 2023-09-12 SpringBoot整合MQTT(MqttClient)
- 2022-07-29 Linux中文件的基本屬性介紹_linux shell
- 2022-09-13 Nginx報錯104:Connection?reset?by?peer問題的解決及分析_nginx
- 2023-05-23 numpy中的掩碼數組的使用_python
- 2022-04-26 C++?Primer?Plus詳解_C 語言
- 2022-07-22 linux centos7環境下修改oracle19c監聽IP并重啟
- 2022-07-17 SQL?Server使用T-SQL語句批處理_MsSql
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支