Java多執行緒與併發程式設計 | 同步容器與&Atomic包&CAS演算法
阿新 • • 發佈:2021-09-06
方法的定義
-
修飾符
-
返回值型別
-
break: 跳出switch,結束迴圈和return的區別
-
方法名: 注意規範,見名知意
-
引數列表:(引數型別,引數名, ...)
-
異常丟擲 :
方法的呼叫: 遞迴
-
靜態方法
-
非靜態方法
-
形參和實參
-
值傳遞和引用傳遞
-
this關鍵字兒
/**靜態方法與非靜態方法
*/
public class demo02 {
public static void main(String[] args) {
}
public static void prinA(){
// prinB(); 報錯,靜態方法無法呼叫非靜態方法,靜態方法和類一起載入
System.out.println("方法A輸出");
}
//非靜態方法是和物件相關的,物件建立時才存在
public void prinB(){
prinA();
System.out.println("方法B輸出");
}
//值傳遞
public class demo03 {
public static void main(String[] args) {
int a=1;
System.out.println(a);
new demo03().changeVale(a);
System.out.println(a);
System.out.println("--------------------");
/*
* 輸出:
* 1
1
--------------------
* */
}
public void changeVale(int a){
a=10;
}
}
//引用傳遞:物件,本質還是值傳遞
public class demo04 {
public static void main(String[] args) {
Test test =new Test();
System.out.println(test.b+"---");
new demo04().changeV(test);
System.out.println(test.b+"---");
/*
輸出:
null---
徐先生---
* */
}
public void changeVale(int a){
a=10;
}
//test是一個物件:指向-->Test test =new Test(); 是一個具體物件,可以改變屬性,本質還是值傳遞
public void changeV(Test test){
test.b="徐先生";
}
}
//定義了一個test類,有一個屬性:b
class Test{
String b;
}