日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Java--类的成员

發(fā)布時間:2025/3/14 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java--类的成员 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、方法重載

在同一個類中,方法名相同、形參列表不同的兩個多個方法之間構(gòu)成重載!overload 調(diào)用方法的時候,是根據(jù)你傳遞的實參,來決定到底調(diào)用的是重載的哪個方法!!!

注意: 1、判斷形參列表是否相同時,只看形參的類型,而不管變量名 2、是否重載和返回值類型沒有任何的關(guān)系! 3、形參列表不同:個數(shù)不同或者順序不同都是不同 4、重載其實多態(tài)中的一種情況:靜態(tài)多態(tài)void speak(){ System.out.println("啥都不說"); } void speak(String msg){ System.out.println("說:" + msg); }

以下不是重載

雖然參數(shù)名不同,但是類型不同,這不是重載,這是重復(fù) void speak(int a){ } void speak(int b){ }

二、構(gòu)造方法

主要作用:對創(chuàng)建的對象做一些初始化的工作!!!
構(gòu)造器、構(gòu)造函數(shù)、構(gòu)造方法、Constructor

構(gòu)造方法的特點:

1、首先他是一個方法 2、構(gòu)造方法名與類名相同!!! 3、構(gòu)造方法沒有返回值類型!!! 連void都不許寫 4、構(gòu)造方法是在創(chuàng)建對象 new 類名() 的時候調(diào)用的。 5、構(gòu)造方法,不能通過對象.方法名()去調(diào)用。 6、構(gòu)造方法也支持重載!!!

構(gòu)造方法分兩大類:
1、無參的構(gòu)造方法:
a:如果一個類,沒有顯示的聲明任何的構(gòu)造方法,則系統(tǒng)會自動添加一個默認的無參構(gòu)造方法。這個默認的無參構(gòu)造,沒有任何的實現(xiàn)(里面沒有任何的代碼)。
b:如果添加任何一個構(gòu)造方法,則系統(tǒng)不再添加無參的構(gòu)造方法。
2、有參的構(gòu)造方法:

建議:寫類的,總是手動添加一個無參的構(gòu)造方法!!!

三、封裝性

面向?qū)ο蟮娜筇卣?#xff1a;封裝性、繼承性、多態(tài)性

private 它可以用來修飾屬性和方法。代表這個成員是私有。私有的成員,只能在當前的類中訪問,出了類之后,別的地方?jīng)]有權(quán)限進行訪問。

public 修飾的屬性和方法,在任何的地方都可以訪問

給私有的屬性,提供可讀的方法 public int getAge(){ return age; } public String getName(){ return name; } 給私有的屬性,提供可寫的方法 public void setAge(int a){ age = a; } public void setName(String n){ name = n; }

setter、getter方法
通常意義上的普通類,一般都會封裝屬性,然后再提供相應(yīng)的setter和getter方法


三、this關(guān)鍵字

變量訪問原則:就近原則!

1、this指代當前類的對象
指代當前對象,this如果省略之后仍然指代成員變量,則可以省略。

this指代當前對象,可以調(diào)用當前對象的屬性和方法! public void eat(String food){ System.out.println("正在吃:" + food); } // 對象、實例、非靜態(tài) 方法 public void eat(){ this.eat("竹子"); //這個位置的this可以省略 } 注意:如果調(diào)用一個方法的時候,沒有指定對象,那么其實是省略了this 在一個類的內(nèi)部,調(diào)換用自己的方法的時候,都會省略this

2、this可以在構(gòu)造方法的內(nèi)部去調(diào)用其他的構(gòu)造方法
this(參數(shù))

注意: 1、用this調(diào)用構(gòu)造方法的時候,不能 a調(diào)用b,b再調(diào)用a 2、this調(diào)用構(gòu)造方法的時候,必須放在構(gòu)造方法的首行。 3、一個構(gòu)造方法如果沒有顯示的用this去調(diào)用其他構(gòu)造方法或者用super去調(diào)用 父類的構(gòu)造方法,則這個構(gòu)造方法,一定默認調(diào)用了父類的無參的構(gòu)造方法。

3、this可以作為實參傳遞。代表的是當前對象的引用。

public void fun(){Person person = new Person();person.play(this); //可以把作為參數(shù)傳遞到方法的內(nèi)部 }

四、static關(guān)鍵字

static 表示靜態(tài),可以修飾屬性和方法!!!被static修飾的成員稱之為靜態(tài)屬性或靜態(tài)方法。(不被static修飾:實例方法、非靜態(tài)方法)

修飾屬性的時候,表示這個屬性是靜態(tài),這個屬性就是一種公共的資源,是被所有的對象所共有。

當訪問靜態(tài)的成員的時候的,最標準的做法是不建議使用對象去訪問靜態(tài)成員!

用靜態(tài)的方式去訪問靜態(tài)成員:類名.靜態(tài)成員 。靜態(tài)時隨著類的加載而初始化的,只有類第一次加載到內(nèi)存的時候就完成了初始化。

永遠不要使用對象的方式去訪問靜態(tài)東西!!

訪問靜態(tài)永遠使用類名去訪問,而不要使用對象去訪問。 靜態(tài)的東西,已經(jīng)和對象沒有多大的關(guān)系。靜態(tài)的東西,是屬性類的, 所有靜態(tài)的屬性和靜態(tài)方法,我們稱之為:類方法和類屬性

在實際中,很多的工具類都是提供了很多的靜態(tài)方法來讓我們使用!!!

靜態(tài)不能訪問非靜態(tài)!!! 非靜態(tài)可以訪問靜態(tài)!!!在靜態(tài)方法中會不會可能出現(xiàn)this? 不可能

static修飾代碼快,稱之為靜態(tài)代碼塊!

構(gòu)造代碼塊: {System.out.println("我是代碼塊"); } 注意:先執(zhí)行構(gòu)造代碼塊再執(zhí)行構(gòu)造方法。 構(gòu)造代碼在實際沒有使用價值靜態(tài)代碼塊: static{System.out.println("我是靜態(tài)代碼塊"); } 注意:靜態(tài)代碼塊,只有類第一次加載的時候,才會調(diào)用,所以靜態(tài)代碼庫之執(zhí)行一次。 在類加載的時候,對類的靜態(tài)的屬性做一些初始化的工作。

總結(jié):

類里面都可以放哪些東東?1、實例變量(屬性)屬于對象的,只能有了對象之后才能訪問。2、靜態(tài)變量(靜態(tài)屬性)不屬于某個具體的對象,而是屬于類的。使用靜態(tài)的方式去訪問:類名.靜態(tài)3、實例方法屬于對象的,只有有了對象之后才能訪問。4、靜態(tài)方法屬于類。靜態(tài)方法也稱為類方法。 類名.靜態(tài)方法。靜態(tài)能訪問非靜態(tài),非靜態(tài)可以訪問靜態(tài)!5、構(gòu)造方法 構(gòu)造方法只有在使用new來創(chuàng)建對象的時候才會執(zhí)行。 6、代碼塊 a:構(gòu)造代碼塊 創(chuàng)建對象的時候調(diào)用,而且是優(yōu)先于構(gòu)造方法執(zhí)行! b:靜態(tài)代碼塊 類加載到內(nèi)存中的時候調(diào)用。整個生命周期中,靜態(tài)代碼塊只執(zhí)行一次。

轉(zhuǎn)載于:https://www.cnblogs.com/xmcx1995/p/5753115.html

總結(jié)

以上是生活随笔為你收集整理的Java--类的成员的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。