首頁 > Java > java教程 > Java函數如何比較?它們有何差異?

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

WBOY
發布: 2024-04-20 11:24:02
原創
357 人瀏覽過

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板