首頁  >  文章  >  Java  >  Java函數如何比較?它們有何差異?

Java函數如何比較?它們有何差異?

WBOY
WBOY原創
2024-04-20 11:24:02339瀏覽

Java函數有兩種類型:靜態方法和實例方法。靜態方法不需要物件實例,直接透過類別名稱調用,用於執行與類別狀態無關的操作。實例方法需要一個物件實例才能調用,用於存取或修改物件的狀態。

Java函數如何比較?它們有何差異?

Java 函數比較

#在 Java 中,函數有兩種類型:靜態方法和實例方法。它們有不同的目的和用法,如下所示:

靜態方法(類別方法)

  • #使用static 關鍵字聲明
  • 不需要物件實例,直接透過類別名稱呼叫
  • 用於執行與類別狀態無關的操作,例如數學計算或實用程式函數

程式碼範例:

public class MathUtils {

    public static int add(int a, int b) {
        return a + b;
    }

    public static void main(String[] args) {
        int result = MathUtils.add(5, 10);
        System.out.println(result); // 输出:15
    }
}

實例方法

  • #不使用static 關鍵字宣告
  • 需要一個物件實例才能呼叫
  • 用於存取或修改物件的狀態,例如getter 和setter

#程式碼範例:

public class Person {

    private String name;

    public Person(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public static void main(String[] args) {
        Person p1 = new Person("John");
        p1.setName("Mary");
        System.out.println(p1.getName()); // 输出:Mary
    }
}

主要差異

特徵 靜態方法 實例方法
實例化 不需要 需要
#呼叫方式 類別名稱.methodName() object.methodName()
目的 獨立於物件的操作 存取或修改物件的狀態
可見性 可以從任何地方存取 僅可從同一實例中存取

實戰案例

寫一個任兩個字串進行拼接的靜態方法:

public class StringUtils {

    public static String concat(String str1, String str2) {
        return str1 + str2;
    }

    public static void main(String[] args) {
        String name1 = "John";
        String name2 = "Doe";
        String fullName = StringUtils.concat(name1, name2);
        System.out.println(fullName); // 输出:JohnDoe
    }
}

以上是Java函數如何比較?它們有何差異?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn