Day30-方法的分類和呼叫

1hahahahahahahaha發表於2024-11-04

Day30-方法的分類和呼叫

方法的分類:

//靜態方法  有static

//非靜態方法  沒static

方法的呼叫:

​ 靜態方法的呼叫:

語法:

​ 同一包中的不同類呼叫靜態方法:

​ 類名.方法名 ClassB.staticMethod()

​ 透過類名直接呼叫

package com.example;

class ClassA {
    public static void main(String[] args) {
        ClassB.staticMethod();
    }
}

class ClassB {
    public static void staticMethod() {
        System.out.println("This is a static method in ClassB");
    }
}
  • 這裡ClassAmain方法,透過ClassB.staticMethod()的形式,呼叫了ClassB中的靜態方法staticMethod

示例:

​ 如果在Student類裡面,有一個靜態方法:

package com.liu.oop.demo01;
//類:Student
public class Student {
    public static void say(){
        System.out.println("學生說話了");
    }
}

如何在Demo02裡呼叫?

package com.liu.oop.demo01;

public class Demo02 {
    public static void main(String[] args) {
       //如果是靜態方法:
        Student.say();//學生說話了
    }
}

同一包中的同一類呼叫靜態方法和上面相同!!!!!

非靜態方法的呼叫

同一包不同類呼叫非靜態方法:

語法:

package com.example;

class ClassA {
    public static void main(String[] args) {
        ClassB obj = new ClassB();
        obj.nonStaticMethod();
    }
}

class ClassB {
    public void nonStaticMethod() {
        System.out.println("This is a non - static method in ClassB");
    }
}
  • ClassAmain方法中,要例項化,就是透過new ClassB()建立了ClassB的一個物件obj,然後使用obj.nonStaticMethod()來呼叫ClassB中的非靜態方法nonStaticMethod

示例:

//被呼叫的類
package com.liu.oop.demo01;
//類:Student
//非靜態方法
public class Student {
    public void say(){
        System.out.println("學生說話了");
    }
}

//呼叫的類
package com.liu.oop.demo01;

public class Demo02 {
    public static void main(String[] args) {


        //如果是非靜態方法:將被呼叫類類實名化  new關鍵字
        //物件型別 物件名=物件值
        Student student = new Student();
        student.say();//學生說話了
    }
}

同一包同一類的非靜態方法呼叫:

示例:

package com.liu.oop.demo01;

public class Demo03 {

    public static void main(String[] args) {

    }
    //加法
    public int add(int a,int b){
        return a+b;
    }
}

在上面的程式碼裡面,建立了add方法來計算兩個數的和

如何在main方法裡面,呼叫該方法來計算1+2?

下是在main方法中呼叫add方法來計算12的和的步驟:

呼叫步驟:

  1. 建立物件
    因為add方法是非靜態方法,它是與類的例項相關聯的,所以首先需要在main方法中建立Demo03類的物件。示例程式碼如下:

    package com.liu.oop.demo01;
    
    public class Demo03 {
    
        public static void main(String[] args) {
            // 建立Demo03類的物件
            Demo03 demo03Obj = new Demo03();
    
        }
        //加法
        public int add(int a, int b) {
            return a + b;
        }
    }
    

在上述程式碼中,透過Demo03 demo03Obj = new Demo03();語句建立了Demo03類的一個物件demo03Obj

2.呼叫 add 方法
在建立好物件之後,就可以透過該物件來呼叫add方法了。繼續在main方法中新增以下程式碼來實現計算12的和:

package com.liu.oop.demo01;

public class Demo03 {

    public static void main(String[] args) {
        // 建立Demo03類的物件
        Demo03 demo03Obj = new Demo03();

        // 透過物件呼叫add方法計算1和2的和
        int result = demo03Obj.add(1, 2);
        System.out.println("1和2的和為:" + result);

    }
    //加法
    public int add(int a, int b) {
        return a + b;
    }
}

在上述擴充套件後的程式碼中,透過demo03Obj.add(1, 2);語句呼叫了add方法,並將返回的結果儲存在變數result中,最後透過System.out.println()輸出了計算結果。執行程式後,控制檯將顯示1和2的和為:3

相關文章