程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JAVA基礎培訓(2) 熟悉方法的調用

JAVA基礎培訓(2) 熟悉方法的調用

編輯:關於JAVA

我們上一個只用直接的輸出語句,打印出可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 靜態變量可以直接使用,也可以用類的實例調用。

這一講我們就到這裡,歡迎大家反饋意見,如有錯誤,我會盡快完善這個教程

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved