java之函数
如何定義一個函數
1、函數是一個獨立的功能,首先明確該功能的運算結果是什么,即明確函數的返回值類型。
2、明確定義該功能的過程中是否需要未知的內容參與運算,即明確函數的參數列表(參數的類型和參數的個數)。
函數的重載
定義:函數名相同,參數列表不同。
參數列表不同,即參數類型不同、參數個數不同。重載和返回值類型沒有關系。
什么時候用重載
當定義的功能相同,但參與運算的未知內容不同。
那么,這時就定義一個函數名稱以表示該功能,方便閱讀,而通過參數列表的不同來區分多個同名函數。
構造函數
特點:
1、函數名與類名相同
2、不用定義返回值類型
3、不可以寫return語句
覆蓋:
1,子類覆蓋父類,必須保證子類權限大于等于父類權限,才可以覆蓋,否則編譯失敗。
2,靜態只能覆蓋靜態。
?
構造代碼塊
作用:給對象進行初始化。
對象一建立就運行,而且優先于構造函數執行。
和構造函數的區別:
構造代碼塊是給所有對象進行統一初始化,
而構造函數是給對應的對象初始化。
構造代碼快中定義的是不同對象共性的初始化內容。
格式:
{
System.out.println("hello");
}
靜態代碼塊
格式:
static
{
執行語句
}
特點:隨著類的加載而執行,只執行一次。
作用:用于給類初始化
對象初始化過程
Person p = new Person("zhangsan",20);
該句話都做了什么事情?
1,因為new用到了Person.class.所以會先找到Person.class文件并加載到內存中。
2,執行該類中的static代碼塊,如果有的話,給Person.class類進行初始化。
3,在堆內存中開辟空間,分配內存地址。
4,在堆內存中建立對象的特有屬性。并進行默認初始化。
5,對屬性進行顯示初始化。
6,對對象進行構造代碼塊初始化。
7,對對象進行對應的構造函數初始化。
8,將內存地址付給棧內存中的p變量。
轉載于:https://www.cnblogs.com/Yang-king/p/4695682.html
總結
- 上一篇: SpringBoot2.0响应式编程系列
- 下一篇: 【转】Windows系统中ckplaye