結構:
[訪問修飾符] 返回值型別 方法名([引數列表])
有返回值接收定義乙個接收變數
接收變數a=類名.方法名(實參);
system.out.print(接收變數a)
注意點:
1.呼叫方法時不用指定實參型別,直接使用具體值即可;
2.形式引數與實際引數型別要一致,數量也要一致
引數:基本資料型別做引數時,傳遞的是值,不能出方法的範圍;
引用資料型別做引數是,傳遞的是位址,可以印象方法外部;
特殊:string做引數時,等同於基本資料型別,原因是不可改變 。
public
class
test
public
void
calc2
(student student)
}public
class
test
public
void
calc2
(student student)
}輸出結果是num=
8 student.age=
19num為基本資料型別 student.age為引用資料型別
虛擬機器(物件建立)工作原理:
由類載入器,呼叫構造方法,如果該類沒有構造方法,則使用object類的預設構造方法
構造方法:
預設每個類都有乙個無參構造,如果該類有了有參構造,則預設的無參構造不再提供,此時如果還想用無參構造,則需要顯示的定義無參構造
例:
榨汁機榨果汁(控制種類,杯數,開關):
public
class
zhazhiji
void
zzbuttonandcups
(string fruit,
boolean isrun,
int num)
}//帶返回值
string zzbybuttonandcupsandre
(string fruit,
boolean isrun,
int num)
else
return null;
}public
static
void
main
(string[
] args)
}
投影儀(接入電腦並控制開關):
public
class
touyinyi
else
public
static
void
main
(string[
] args)
}
實現計算功能
public
class
jisuanqi
void
add2
(double a,
double b,
double c)
public
static
void
main
(string[
] args)
}
構造方法:
訪問修飾符 構造方法名(
)
無返回值,方法名與類名相同,可以指定引數
方法過載的條件:
在同乙個類中,方法名相同,引數列表不同(不包含引數名)
ps:與訪問修飾符和返回值型別無關
以下不屬於方法過載的是( )。
(a)public
void
method1()
public
void
method1
(int i)
(b)public
void
method1()
public
intmethod1()
(c)public
void
method1()
public
intmethod1
(int i)
b選項引數列表相同,故選擇b
this關鍵字,對本類物件的引用
本類中呼叫同名構造方法,this(); 必須在第一條
屬性又叫成員變數,全域性變數 作用於一整個內 有初始值
引數都叫區域性變數 作用於乙個方法內 無初始值
有區域性變數和成員變數同時存在,要取到成員變數需要加this 遵循就近原則
public
class
dog//有參構造過載,引數都叫區域性變數
public
dog(string name,
int health,
int love,string strain)
void
print()
}
public
class
testdog
}
構造方法和構造方法的過載
1.通過new關鍵字呼叫 2.構造器雖然有返回值,但是不能定義返回值型別 返回值的型別肯定是本類 不能在構造器裡使用return返回某個值。3.如果我們沒有定義構造器,則編譯器會自動定義乙個無參的建構函式。如果已定義則編譯器不會自動新增 4.構造器的方法名必須和類名一致 類 class point ...
方法過載和重寫 構造方法
自定義構造方法 乙個類中允許出現多個同名但不同引數的方法,這種方法叫做方法過載 同乙個類中 方法名相同 引數 個數或型別 不同 與返回值 訪問修飾符無關 作用 讓開發者需要記憶的函式名大大降低,提高開發效率 注意 一般是類似的功能寫成過載 方法名相同 引數列表相同 返回值型別相同或者是其子類 返回許...
構造方法構造器 構造方法過載
一 構造方法 構造器 定義 1 構造方法就是類似於方法,但是構造方法沒有返回值 不用也不能寫void 2 構造方法名字必須與類名相同 3 構造方法不能被static修飾 構造方法屬於物件,static屬於類 4 一旦定義帶參的建構函式,程式將不再為你自動建立空構造器。作用 可以在new物件的同時傳入...