java學習第六天之建構函式

2021-07-27 23:42:16 字數 2068 閱讀 9270

/*一般函式與建構函式有什麼區別?

* 之前定義的函式都是一般的函式,用於描述事物應具備的功能

建構函式:也是功能,只不過這個功能有特殊,轉嫩用於給物件初始化

建構函式在建立物件時就執行了,而且只執行一次

一般函式實在物件建立後,需要時才被物件呼叫,可以呼叫多次

格式:1、函式名和類名相同

2、沒有返回值型別

3、沒有具體的返回值

*//*建構函式中有return語句嗎?

有  用於結束初始化的

建構函式中可以呼叫方法

建構函式是可以私用化的,只在本了誒中使用

而且建構函式一旦私有化,其他程式就無法建立該類的獨享,原因:無法對建立的物件初始化

*/public class persondemo ,下面這句話就會報錯,除非再自定義乙個不帶參的建構函式 */

personal personal = new personal();

//personal p1 = new personal("張三");

personal p2 = new personal("李四", 46);

personal.setname("bubble");

personal.setage(20);

personal.talk();

p2.talk();

//通過類名直接調static方法

boolean b=p2.equals(personal);

system.out.println("b="+b);

/*既然sleep方法沒有訪問到物件中的特有資料

都可以不需要物件就可以使用該方法,只要在該方法上用staitc修飾即可

static:用於修飾成員的靜態關鍵字

什麼時候函式需要靜態修飾呢?

該函式沒有訪問過物件的屬性時,就需要用靜態修飾

*/personal.sleep();

stranger s=new stranger();

//區域性**塊

"x="+x);}}

class personal

/*建構函式私有,只在本類中有效,該如何訪問呢?

注意1:建構函式只能被構造函式呼叫,不能直接被一般方法呼叫數

建構函式之間該如何訪問呢?通過關鍵字this來解決

this:代表的是物件。代表的是那個物件呢?哪個物件呼叫this所在的函式,this就代表哪個物件*/

private personal(string n) else

name = n;

talk();

return;//結束函式用的

}personal(string n, int age)

public void setname(string n)

public string getname()

public void setage(int n)

public int getage()

public boolean equalsage(personal p)

}public void talk()

//可以通過類名直接訪問

/*如果建立的物件沒有呼叫sleep方法,發現sleep並沒有使用物件中的資料,該物件的建立是沒有意義的

該方法所屬於personal.class

可以通過類名的方式來訪問

注意:用類名直 接呼叫的方法必須通過修飾符來修飾,就是關鍵字 static*/

public static void sleep()

}//靜態**塊:隨著類的載入而執行,而且只執行一次

//作用:給類初始化的

//應用場景:類不需要建立物件,但是需要初始化,這是將部分**儲存到靜態**中 

class stranger

stranger(int age)

//構造**塊,給所有物件進行初始化,建構函式只給對應的物件初始化

static

/*1、super;//呼叫父類建構函式

2、顯示初始化

3、構造**塊初始化*/

static void show()

public void cry()

}

Java學習第六天

1,迴圈就是重複執行某部分 常用的有for迴圈和while迴圈 2,迴圈由三部分組成,迴圈條件,迴圈體,迴圈變數 3,for迴圈中,先判斷迴圈變數滿不滿足條件,滿足就執行迴圈體,迴圈體執行一次後,對變數做個變化,繼續判斷滿不滿足條件 for 變數 變數是否滿足 迴圈體執行一次後對變數操作 4,whi...

Java學習第六天

優點 復用 程式結構清晰 如何寫方法 無參,無返回值 有參,無返回值 無參,有返回值 有參,有返回值 引數 形參 宣告方法時在方法頭宣告的變數,可以有任意個 作用 接收呼叫者傳遞給方法體的資料的 實參 呼叫方法時,使用的引數 作用 把資料傳遞給 複製後 形參 注意 呼叫時實參和形參一定要一一對應 返...

Java學習第六天

一 流程控制 1 順序結構 2 選擇結構 if if else if else if else if else switch case。3 迴圈結構 for while do.while 練習 列印 for int i 1 i 5 i system.out.println 112 1231234 1...