最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java this、final等關(guān)鍵字總結(jié)

 更新時間:2017年04月17日 09:33:41   作者:DeMon輝  
這篇文章主要對java中this、final等關(guān)鍵字進行了總結(jié),需要的朋友可以參考下

this

關(guān)鍵字this引用對象自身。它也可以在構(gòu)造方法內(nèi)部用于調(diào)用同一個類的其他構(gòu)造方法。

隱藏的靜態(tài)變量可以通過”類.靜態(tài)變量”來引用,而隱藏的實例變量就需要使用”this.實例變量”來引用。

調(diào)用一個重載的構(gòu)造方法this引用是必須的。

this是個隱式參數(shù),代表當(dāng)前對象

publie class Student{
 private String name; 
 public void setName(String name){ 
 this.name=name; //this.name為當(dāng)前對象的成員變量 
} }

如果某個構(gòu)造方法的第一個語句具有形式this( ••• ),那么這個構(gòu)造方法將調(diào)用同一類中的其他構(gòu)造方法。

注意:

在構(gòu)造器中this(…)必須放在該構(gòu)造器的第一行。

this不能出現(xiàn)在靜態(tài)方法里面

super

super關(guān)鍵字代指父類,可以用于調(diào)用父類的普通方法和構(gòu)造方法。

super()表示調(diào)用父類的構(gòu)造器

super.方法來引用父類的方法

super()也和this()一樣必須放在方法的第一句

super()和this()不能同時出現(xiàn)

super可以屏蔽子類屬性和父類屬性重名時帶來的屬性遮蓋,super. 表示調(diào)用父類的方法或?qū)傩?

在子類的構(gòu)造器中如果沒有指定調(diào)用父類的哪一個構(gòu)造器,那么就會調(diào)用父類的無參構(gòu)造器,即super()

注意:

父類的構(gòu)造器不能被子類繼承

方法和屬性可以被繼承,權(quán)限不限制能否繼承過來,限制的是能否直接訪問

先構(gòu)造父類,后構(gòu)造子類

instanceof

用法:引用 instanceof 類名

判斷這個引用所指向的對象是否屬于這個類。

用在強制轉(zhuǎn)換之前,避免類型轉(zhuǎn)換異常。

 if(a instanceof Dog){ 
 Dog d=(Dog)a; 
 } 
implements

一個類實現(xiàn)一個接口必須實現(xiàn)接口中所有的方法,否則其為抽象類,并且在實現(xiàn)類中的方法要加上public(不能省略)。

類中的默認修飾符:default。

接口中的默認修飾符:public。

一個類除了繼承另一個類外(只能繼承一個類),還可以實現(xiàn)多個接口(接口之間用逗號分隔)。

static

把對象相關(guān)的變成類相關(guān)的,它可以修飾屬性、方法、代碼塊和內(nèi)部類.

static修飾屬性(類變量):

那么這個屬性就可以用” 類名.屬性名 “來訪問,也就是使這個屬性成為本類的類變量,為本類對象所共享。

類加載的過程

類本身也是保存在文件中(字節(jié)碼文件保存著類的信息)的,Java會通過I/O流把類的文件讀入JVM(java虛擬機),這個過程稱為類的 加載。

JVM會通過類路徑(CLASSPATH)來找字節(jié)碼文件。需要的時候才會進行類加載,生成對象時是先加載后構(gòu)造

類變量,會在加載時自動初始化,初始化規(guī)則和實例變量相同。

注意:

類中的實例變量是在創(chuàng)建對象時被初始化的。

static修飾的屬性,是在類加載時被創(chuàng)建并進行初始化,類加載的過程只進行一次,也就是類變量只會被創(chuàng)建一次。

static修飾方法(靜態(tài)方法):

會使這個方法成為整個類所公有的方法,可以用” 類名.方法名 “訪問。

static修飾的方法,不能直接訪問本類中的非靜態(tài)成員,但本類的非靜態(tài)方法可以訪問本類的靜態(tài)成員。

在靜態(tài)方法中不能出現(xiàn)this關(guān)鍵字。

父類中是靜態(tài)方法,子類中不能覆蓋為非靜態(tài)方法,在符合覆蓋規(guī)則的前提下,在父子類中,父類中的靜態(tài)方法可以被子類中的靜態(tài)方法覆蓋,但是沒有多態(tài)。(在使用對象調(diào)用靜態(tài)方法時其實是調(diào)用編譯時類型的靜態(tài)方法)

java中的main方法必須寫成static的原因:

在類加載時無法創(chuàng)建對象,而靜態(tài)方法可以不通過對象調(diào)用,所以在類加載時就可以通過main方法入口來運行程序。

static修飾初始代碼塊:

這時這個初始代碼塊就叫做靜態(tài)初始代碼塊,這個代碼塊只在類加載時被執(zhí)行一次。

可以用靜態(tài)初始代碼塊初始化一個類。

動態(tài)初始代碼塊,寫在類體中的“{}”,這個代碼塊是在生成對象時運行,這種代碼塊叫動態(tài)初始代碼

final

修飾符final:不允許改變,可以修飾變量、方法、類。

final修飾變量:

被fianl修飾的變量就會變成常量,一旦賦值不能改變

常量可以在初始化時直接賦值,也可以在構(gòu)造方法里賦值,只能在這兩種方法里二選一,不能不為常量賦值

常量不會有默認初始值

鎖定棧,使棧中的數(shù)據(jù)不可以改變

靜態(tài)常量只能在初始化時直接賦值

final修飾方法:

被final修飾的方法將不能被其子類覆蓋,保持方法的穩(wěn)定不能被覆蓋

final修飾類:

被final修飾的類將不能被繼承

final類中的方法也都是final的

注意:

final不能用來修飾構(gòu)造方法

abstract:

修飾符abstract:抽象的,定義框架不去實現(xiàn),可以修飾類和方法

abstract修飾類:

會使這個類成為一個抽象類,這個類將不能生成對象實例,但可以做為對象變量聲明的類型,也就是編譯時類型

抽象類就相當(dāng)于一個類的半成品,需要子類繼承并覆蓋其中的抽象方法,這時子類才又創(chuàng)建實例的能力,如果子類沒有實現(xiàn)父類的抽象方法,那么子類也要為抽象類。

abstract修飾方法:

會使這個方法變成抽象方法,也就是只有聲明而沒有實現(xiàn),實現(xiàn)部分以”;”代替,需要子類繼承實現(xiàn)。

抽象方法代表了某種標(biāo)準(zhǔn),定義標(biāo)準(zhǔn),定義功能,在子類中去實現(xiàn)功能

(子類繼承了父類并需要給出從父類繼承的抽象方法的實現(xiàn))。

方法一時間想不到怎么被實現(xiàn),或有意要子類去實現(xiàn)而定義某種標(biāo)準(zhǔn),這個方法可以被定義為抽象。

注意:

有抽象方法的類一定是抽象類。但是抽象類中不一定都是抽象方法,也可以全是具體方法。

關(guān)鍵字 描述
int 32位整型數(shù)
boolean 布爾數(shù)據(jù)類型
float 32-bit單精度浮點數(shù)
long 64位整型數(shù)
short 16位數(shù)字
byte 8-bit 有符號數(shù)據(jù)類型
double 64-bit雙精度浮點數(shù)
char 16-bit Unicode字符數(shù)據(jù)類型
abstract 抽象方法,抽象類的修飾符
extends 表示一個類是另一個類的子類
implements 表示一個類實現(xiàn)了接口
assert 斷言條件是否滿足
break 跳出循環(huán)或者label代碼段
continue 不執(zhí)行循環(huán)體剩余部分
case switch語句的一個條件
catch 和try搭配撲捉異常信息
final 表示一個值在初始化之后就不能再改變了,表示方法不能被重寫,或者一個類不能有子類
finally try 語句不管是否發(fā)生異常都要執(zhí)行的語句塊
class 定義類
const 未使用
default switch語句中的默認分支
enum 枚舉類型
goto 未使用
if 條件語句
import 導(dǎo)入類
instanceof 測試一個對象是否是某個類的實例
interface 接口,一種抽象的類型,僅有方法和常量的定義
native 表示方法用非java代碼實現(xiàn)
new 分配新的類實例
package 一系列相關(guān)類組成一個包
private 表示私有字段,或者方法等,只能從類內(nèi)部訪問
protected 表示字段只能通過類或者其子類訪問,子類或者在同一個包內(nèi)的其他類
public 表示共有屬性或者方法
return 方法返回值
static 表示在類級別定義,所有實例共享的
strictfp 浮點數(shù)比較使用嚴(yán)格的規(guī)則
super 表示基類
switch 選擇語句
synchronized 表示同一時間只能由一個線程訪問的代碼塊
this 表示調(diào)用當(dāng)前實例,或者調(diào)用另一個構(gòu)造函數(shù)
throw 拋出異常
throws 定義方法可能拋出的異常
transient 修飾不要序列化的字段
try 表示代碼塊要做異常處理或者和finally配合表示是否拋出異常都執(zhí)行finally中的代碼
void 標(biāo)記方法不返回任何值
volatile 標(biāo)記字段可能會被多個線程同時訪問,而不做同步

希望本篇文章可以幫到大家

相關(guān)文章

  • 5分鐘快速學(xué)會spring boot整合JdbcTemplate的方法

    5分鐘快速學(xué)會spring boot整合JdbcTemplate的方法

    這篇文章主要給大家介紹了如何通過5分鐘快速學(xué)會spring boot整合JdbcTemplate的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用spring boot整合JdbcTemplate具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Spring實現(xiàn)動態(tài)數(shù)據(jù)源切換的方法總結(jié)

    Spring實現(xiàn)動態(tài)數(shù)據(jù)源切換的方法總結(jié)

    這篇文章主要為大家詳細介紹了一種Spring實現(xiàn)動態(tài)數(shù)據(jù)源切換的方法,文中的示例代碼講解詳細,具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-06-06
  • Java方法重載實現(xiàn)原理及代碼實例

    Java方法重載實現(xiàn)原理及代碼實例

    這篇文章主要介紹了Java方法重載實現(xiàn)原理及代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • springboot整合mybatis的超詳細過程(配置模式+注解模式)

    springboot整合mybatis的超詳細過程(配置模式+注解模式)

    這篇文章主要介紹了springboot整合mybatis的詳細過程(配置模式+注解模式),這里我使用的是配置模式+注解模式所以需要配置全局文件,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • 解決SpringBoot2多線程無法注入的問題

    解決SpringBoot2多線程無法注入的問題

    這篇文章主要介紹了解決SpringBoot2多線程無法注入的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • java 內(nèi)部類的詳解及實例

    java 內(nèi)部類的詳解及實例

    這篇文章主要介紹了 java 內(nèi)部類的詳解及實例的相關(guān)資料,這里提供了兩種內(nèi)部類的實現(xiàn)方法,并給出實例,需要的朋友可以參考下
    2017-08-08
  • 淺析spring定時器的使用

    淺析spring定時器的使用

    這篇文章主要介紹了淺析spring定時器的使用,幫助大家更好的理解和學(xué)習(xí)spring框架,感興趣的朋友可以了解下
    2020-10-10
  • 動力節(jié)點_王勇_DRP項目視頻教程完整版292集

    動力節(jié)點_王勇_DRP項目視頻教程完整版292集

    該視頻由國內(nèi)知名講師王勇老師主講,適合掌握Java基礎(chǔ)內(nèi)容的同學(xué)學(xué)習(xí),本視頻共計292集,學(xué)習(xí)Java Web項目,DRP項目視頻是首選,累計下載量已經(jīng)達到上千萬,很多同學(xué)通過自學(xué)該視頻找到了軟件開發(fā)工作
    2017-04-04
  • JPA的多表復(fù)雜查詢的方法示例

    JPA的多表復(fù)雜查詢的方法示例

    這篇文章主要介紹了JPA的多表復(fù)雜查詢的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Java中Final關(guān)鍵字的使用技巧及其性能優(yōu)勢詳解

    Java中Final關(guān)鍵字的使用技巧及其性能優(yōu)勢詳解

    這篇文章主要介紹了Java中Final關(guān)鍵字的使用技巧及其性能優(yōu)勢詳解,Java中的final關(guān)鍵字用于修飾變量、方法和類,可以讓它們在定義后不可更改,從而提高程序的穩(wěn)定性和可靠性,此外,final關(guān)鍵字還有一些使用技巧和性能優(yōu)勢,需要的朋友可以參考下
    2023-10-10

最新評論

灌云县| 长武县| 岑溪市| 乐亭县| 长垣县| 察哈| 拉孜县| 龙岩市| 湖州市| 三原县| 县级市| 威远县| 上思县| 全南县| 舒城县| 义乌市| 鲜城| 县级市| 太康县| 吴桥县| 加查县| 常德市| 南陵县| 碌曲县| 澎湖县| 林州市| 新竹县| 南澳县| 长子县| 安多县| 循化| 筠连县| 汤原县| 荔浦县| 建湖县| 合山市| 兖州市| 庆安县| 临朐县| 松潘县| 治多县|