Java--类的成员
一、方法重載
在同一個類中,方法名相同、形參列表不同的兩個多個方法之間構成重載!overload 調用方法的時候,是根據你傳遞的實參,來決定到底調用的是重載的哪個方法!!!
注意: 1、判斷形參列表是否相同時,只看形參的類型,而不管變量名 2、是否重載和返回值類型沒有任何的關系! 3、形參列表不同:個數不同或者順序不同都是不同 4、重載其實多態中的一種情況:靜態多態void speak(){ System.out.println("啥都不說"); } void speak(String msg){ System.out.println("說:" + msg); }以下不是重載
雖然參數名不同,但是類型不同,這不是重載,這是重復 void speak(int a){ } void speak(int b){ }二、構造方法
主要作用:對創建的對象做一些初始化的工作!!!
構造器、構造函數、構造方法、Constructor
構造方法的特點:
1、首先他是一個方法 2、構造方法名與類名相同!!! 3、構造方法沒有返回值類型!!! 連void都不許寫 4、構造方法是在創建對象 new 類名() 的時候調用的。 5、構造方法,不能通過對象.方法名()去調用。 6、構造方法也支持重載!!!構造方法分兩大類:
1、無參的構造方法:
a:如果一個類,沒有顯示的聲明任何的構造方法,則系統會自動添加一個默認的無參構造方法。這個默認的無參構造,沒有任何的實現(里面沒有任何的代碼)。
b:如果添加任何一個構造方法,則系統不再添加無參的構造方法。
2、有參的構造方法:
三、封裝性
面向對象的三大特征:封裝性、繼承性、多態性
private 它可以用來修飾屬性和方法。代表這個成員是私有。私有的成員,只能在當前的類中訪問,出了類之后,別的地方沒有權限進行訪問。
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方法
通常意義上的普通類,一般都會封裝屬性,然后再提供相應的setter和getter方法
三、this關鍵字
變量訪問原則:就近原則!
1、this指代當前類的對象
指代當前對象,this如果省略之后仍然指代成員變量,則可以省略。
2、this可以在構造方法的內部去調用其他的構造方法
this(參數)
3、this可以作為實參傳遞。代表的是當前對象的引用。
public void fun(){Person person = new Person();person.play(this); //可以把作為參數傳遞到方法的內部 }四、static關鍵字
static 表示靜態,可以修飾屬性和方法!!!被static修飾的成員稱之為靜態屬性或靜態方法。(不被static修飾:實例方法、非靜態方法)
修飾屬性的時候,表示這個屬性是靜態,這個屬性就是一種公共的資源,是被所有的對象所共有。
當訪問靜態的成員的時候的,最標準的做法是不建議使用對象去訪問靜態成員!
用靜態的方式去訪問靜態成員:類名.靜態成員 。靜態時隨著類的加載而初始化的,只有類第一次加載到內存的時候就完成了初始化。
永遠不要使用對象的方式去訪問靜態東西!!
訪問靜態永遠使用類名去訪問,而不要使用對象去訪問。 靜態的東西,已經和對象沒有多大的關系。靜態的東西,是屬性類的, 所有靜態的屬性和靜態方法,我們稱之為:類方法和類屬性
在實際中,很多的工具類都是提供了很多的靜態方法來讓我們使用!!!
靜態不能訪問非靜態!!! 非靜態可以訪問靜態!!!在靜態方法中會不會可能出現this? 不可能static修飾代碼快,稱之為靜態代碼塊!
構造代碼塊: {System.out.println("我是代碼塊"); } 注意:先執行構造代碼塊再執行構造方法。 構造代碼在實際沒有使用價值靜態代碼塊: static{System.out.println("我是靜態代碼塊"); } 注意:靜態代碼塊,只有類第一次加載的時候,才會調用,所以靜態代碼庫之執行一次。 在類加載的時候,對類的靜態的屬性做一些初始化的工作。總結:
類里面都可以放哪些東東?1、實例變量(屬性)屬于對象的,只能有了對象之后才能訪問。2、靜態變量(靜態屬性)不屬于某個具體的對象,而是屬于類的。使用靜態的方式去訪問:類名.靜態3、實例方法屬于對象的,只有有了對象之后才能訪問。4、靜態方法屬于類。靜態方法也稱為類方法。 類名.靜態方法。靜態能訪問非靜態,非靜態可以訪問靜態!5、構造方法 構造方法只有在使用new來創建對象的時候才會執行。 6、代碼塊 a:構造代碼塊 創建對象的時候調用,而且是優先于構造方法執行! b:靜態代碼塊 類加載到內存中的時候調用。整個生命周期中,靜態代碼塊只執行一次。轉載于:https://www.cnblogs.com/xmcx1995/p/5753115.html
總結
以上是生活随笔為你收集整理的Java--类的成员的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php+nginx环境配置注意事项
- 下一篇: php设置错误,错误记录