我們上一個只用直接的輸出語句,打印出可Hello World
查看復制到剪切板打印
System.out.println("Hello World!");
這裡我們講使用方法,來實現輸出這個 Hello World的功能。我們先看代碼。
查看復制到剪切板打印
// package 影響到你的類存儲目錄和訪問方式
// 這個課程2,我們使用了lession2,對應的目錄也是
// E:\javalession\base\src\lession2
package lession2;
/**
* 熟悉靜態和非靜態方法的調用。<br>
* 通過方法的調用,實現輸出Hello World的目的。<br>
* 區分靜態方法和非靜態方法。
*
* @author 老紫竹 JAVA世紀網(java2000.net)
*
*/
public class Lession2 {
public static void main(String[] args) {
// 直接調用類的靜態(static)方法
// 無論當前方法是否為靜態方法。
hello1();
// 非靜態方法,需要使用該方法的實例,也就是要new一個出來
// 因為當前調用方 main是 static void main, 也就是靜態的
// 在靜態的方法裡是不能直接使用非靜態的方法的
// 所以我們先構造出一個類的實例出來
Lession2 lession2 = new Lession2();
// 然後用類的實例,注意大小寫,
// 類是大寫開頭的,我new出來的實例名字是小寫開頭的
// 其中 lession2 也被稱為變量,因為它只在main方法裡出現,也成為局部變量
lession2.hello2();
}
/**
* 靜態方法,可以被任何方法直接調用。
*/
public static void hello1() {
System.out.println("Hello World-1!");
}
/**
* 非靜態方法,必須用一個類的實例調用才可以。
*/
public void hello2() {
System.out.println("Hello World-2!");
}
}
運行結果:
Hello World-1!
Hello World-2!
我們可以嘗試如下的幾個測試,記得每次嘗試後,恢復原始版本哦
1 去掉靜態方法裡面的static,然後編譯看看,熟悉一下這個編譯錯誤
2 將我們new出來的變量 lession1 改成 obj 或者你喜歡的變量名字(記得要改2處, 一處聲明,一處調用),然後編譯看看,熟悉一下哪些可以做變量名,同時不同的變量名 對程序的運行是否影響。
3 把非靜態方法 hello2 改名為 hello1(同樣得改2處),看看編譯結果,熟悉一下這 個編譯錯誤
4 嘗試用 lession2調用hello1看看,比如 lession2.hello1(); 看看編譯效果和運行 結果。
備注:
嘗試1 出現的編譯錯誤如下:
Cannot make a static reference to the non-static method hello1() from the type Lession2
嘗試2,不合格的變量名出現的錯誤信息如下:
Syntax error on token "123l", delete this token
嘗試3 裡面出現錯誤信息如下:
Duplicate method hello1() in type Lession2
屏幕截圖
嘗試4 靜態變量可以直接使用,也可以用類的實例調用。
這一講我們就到這裡,歡迎大家反饋意見,如有錯誤,我會盡快完善這個教程