Java中有兩種不同的方法類型:實例方法和類方法。它們有著不同的調用方式和功能。下面我們來詳細了解一下這兩種方法:
實例方法
實例方法是指只有在創建了對象后才能調用的方法。它是通過一個對象調用的,可以訪問和修改對象的屬性。實例方法也叫對象方法或非靜態方法。
public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public void sayHello() { System.out.println("Hello, my name is " + name + ", I'm " + age + " years old."); } } public class Main { public static void main(String[] args) { Person person1 = new Person("Tom", 25); Person person2 = new Person("John", 30); person1.sayHello(); //輸出:Hello, my name is Tom, I'm 25 years old. person2.sayHello(); //輸出:Hello, my name is John, I'm 30 years old. } }
類方法
類方法是指不依賴于對象而存在的方法,也就是說可以直接通過類名調用。類方法不能直接訪問非靜態的類成員,它們只能訪問靜態的類成員。
public class MathUtils { public static int add(int a, int b) { return a + b; } public static double divide(double a, double b) { if (b == 0) { throw new IllegalArgumentException("除數不能為零"); } return a / b; } } public class Main { public static void main(String[] args) { int sum = MathUtils.add(2, 3); //sum的值為5 double result = MathUtils.divide(6.0, 3.0); //result的值為2.0 } }
因為類方法不依賴于對象,所以它們在內存中只存在一份,多個對象共享同一個類方法。
不管是實例方法還是類方法,都是Java中非常重要的一個概念,需要好好理解和使用。