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");
}
}
- 這裡
ClassA
的main
方法,透過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");
}
}
- 在
ClassA
的main
方法中,要例項化,就是透過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
方法來計算1
和2
的和的步驟:
呼叫步驟:
-
建立物件:
因為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
方法中新增以下程式碼來實現計算1
和2
的和:
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
。