JAVA的办法调用以及传参
静態办法:有static润饰的办法。

非静態办法:沒有static润饰的办法。

办法調用:
一静態办法調用 静態办法/屬性

1)一個類:间接調用。

2)不同類/不同文件:

a: 類名.屬性名/办法名

b:實例化對象。 類名 對象名 = new類名();

                                                      對象名. 屬性/办法       二静態調用 非静態办法/屬性

都先實例化對象。 類名 對象名 = new類名();

                                                             對象名. 屬性名/办法名       一非静態調用静態办法       二非静態調用非静態办法        1)同一類中:间接調用        2)不同類中:                            a: 類名 . 办法(只能是静態屬性)

b:實例化對象

總結:可间接調用的三種情況

1.一個類中 静態調静態 。

  1. 一個類中 非静態調用 静態/非静態。
  2. 静態 類名.静態屬性/静態办法。

復製代码
public class Demo03{

int age;public static void main(String []args){    System.out.println(Demo04.name);//静態調用静態1    Demo04.eat();    Demo04 d = new Demo04();//静態調用静態2    System.out.println(d.name);    d.eat();    Demo03 d1 = new Demo03();//静態調用非静態    d1.method();    System.out.println(d1.age);}public void method(){    System.out.println("first method");}

}
復製代码
復製代码
1 public class Demo04{
2 static String name = "張三";
3
4 public static void eat(){
5 System.out.println("肉夾馍");
6 }
7 }
復製代码
復製代码
1 public class Demo05{
2 static int age;
3 String name;
4 public static void main(String []args){
5
6 Demo05 d1 = new Demo05();//静態調非静態 實例化
7 d1.method();
8 }
9
10 public void method(){
11 System.out.println(age); //非静態調静態
12 method1(); //非静態調静態
13 System.out.println(name);//非静態調非静態
14 method2(); //非静態調非静態
15 System.out.println("first method");
16 }
17 public static void method1(){
18 System.out.println("second method");
19 }
20 public void method2(){
21 System.out.println("third method");
22 }
23 }
復製代码
復製代码
1 public class Demo06{
2
3 public static void main(String []args){
4
5 Demo06 d1 = new Demo06(); //静態調非静態 實例化
6 d1.method();
7 }
8 public void method(){
9 System.out.println(Person.name); //非静態調静態
10 Person.method1(); //非静態調静態
11 Person p = new Person(); //非静態調非静態 實例化
12 p.method2();
13 System.out.println("first method");
14 }
15 }
16 class Person{
17 static String name;
18 int age;
19 public static void method1(){
20 System.out.println("second method");
21 }
22 public void method2(){
23 System.out.println("third method");
24 }
25 }
復製代码
復製代码
1 public class Demo09{
2 //實參到形參是單向的,所以在傳遞過程中形參值發生改變不會影響實參
3 public static void main(String []args){
4 int i =1;
5 String s = "ww";
6 Demo09 d = new Demo09();
7 d.method(i,s);
8 System.out.println(i);
9 System.out.println(s);
10 }
11 public void method(int i,String s){
12 i = 100;
13 s = "asd";
14 }
15 public void method1
16 }
復製代码
復製代码
public class ChuanDiZhi{

int x = 3;public static void main(String args[]){    ChuanDiZhi p = new ChuanDiZhi();    p.x = 9;    show(p);    System.out.println(p.x);}public static void show(ChuanDiZhi p){    p.x = 4;}        

}
復製代码
有無返回值

有void润饰,無返回值

int------------------>return int 類型的值

string-------------->return String類型的值

數據類型-------->return 當前數據類型值

返回類、汇合、流等

办法的返回值類型必須和return之後的值數據類型一樣

办法傳遞參數

形參:模式參數,在定義办法時所攜帶的參數。

實參:實際參數,办法調用時所傳入的參數。

形參和實參的區別:

     1形參只有在被調用的時候,才分配内存單元,在調用結束時立刻开释内存單元               形參只在當前办法外部无效

2實參能够是常量、變量、表達式、办法 等。然而在進行办法調用前,必須要有確定的值。

3形參和實參在順序、類型、長度、必須统一。

4實參到形參是單向的,

參數的傳值形式

1值傳遞:在運行函數時,形參和實參在不同的内存地位之中,形參將實參的值復製一份。在函數運行結束時,形參被开释,實參的值不會發生改變。

2地址傳遞:在運行函數時,傳給形參的是實參的地址,那麼形參被批改時,實參也會發生改變。