討論區快速選單
知識庫快速選單
傑米的攝影旅遊筆記 政府補助!學嵌入式+物聯網 程式設計俱樂部Facebook粉絲團
[ 回上頁 ] [ 討論區發言規則 ]
Java能否跟C一樣寫FUNCTION讓MAIN來CALL?
更改我的閱讀文章字型大小
作者 : bjk(Up2u) 貼文超過1000則人氣指數超過50000點
[ 貼文 1047 | 人氣 64249 | 評價 730 | 評價/貼文 0.7 | 送出評價 196 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/5/17 上午 11:58:13
在JAVA要Call Function
一定要先把物件NEW(建構)出來
才能使用物件內的Function嗎
能不能像C一樣
寫一個FUNCTION直接讓MAIN來CALL

public class CH03_01
{ //成員資料
  private int carLength, engCC, maxSpeed;
  private String modelName;
  //建構子
  public CH03_01(String name)
  {
   carLength = 423;
   engCC = 3000;
   maxSpeed = 250;
   modelName = name;
  }
  //類別方法
  public void ShowData()
  {
...........
  }

  //主程式區塊
  public static void main(String args[])
  {
   //實作物件
   CH03_01 BMW318 = new CH03_01("BMW 318i");
   //呼叫類別方法
   BMW318.ShowData();
  }
}
作者 : sorry(sorry)
[ 貼文 159 | 人氣 9 | 評價 1160 | 評價/貼文 7.3 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人bjk註記此篇回應為最佳解答 2005/5/17 下午 01:28:58
hello:
static修飾的就是不需替class產生instance的情況就可以呼叫的
你使用的public static void main即為一例
作者 : bjk(Up2u) 貼文超過1000則人氣指數超過50000點
[ 貼文 1047 | 人氣 64249 | 評價 730 | 評價/貼文 0.7 | 送出評價 196 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/5/17 下午 02:42:10
public class CH03_01


所以改成

static class CH03_01
就可以囉
作者 : sorry(sorry)
[ 貼文 159 | 人氣 9 | 評價 1160 | 評價/貼文 7.3 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人bjk註記此篇回應為最佳解答 2005/5/17 下午 03:26:41
hello:
不是耶

public static showData()
但是不一定object有關
一般用在utility上
ex. java.lang.String提供一些工具如valueOf()
你不必產生class的ojbect就可以使用
作者 : aronlu(Aron) Java卓越專家貼文超過200則
[ 貼文 255 | 人氣 180 | 評價 2340 | 評價/貼文 9.18 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人bjk註記此篇回應為最佳解答 2005/5/17 下午 04:45:46
舉個簡單的例子
public class testProg {
    public static void main(String[] args) {
     //使用 static 方法
     hello.sayHello();

     //使用non static 方法
     hello speak = new hello();
     speak.sayBye();
    }
}

class hello{
    public static void sayHello(){
     System.out.println("Hello~~~~");
    }
    public void sayBye() {
     System.out.println("Bye~~~~~");
    }
}

當你在method或field加上static這個修飾字時,這個method或field
就變成了類別方法或類別變數,所以當類別(這邊指的是hello)被載入時
類別方法(例:sayHello() )或類別變數就會建立實體
所以你只需要使用 類別名稱.類別方法(例:hello.sayHello() ) 就可以直接呼叫
但是像sayBye()就是實體方法,它在類別(就是hello)載入時並不會建立實體
所以你需要先為它建立實體(new hello() )後才能呼叫它
作者 : bjk(Up2u) 貼文超過1000則人氣指數超過50000點
[ 貼文 1047 | 人氣 64249 | 評價 730 | 評價/貼文 0.7 | 送出評價 196 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/5/17 下午 05:32:11
有趣~~~
 板主 : 風月
 > Java入門一般區 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Java入門一般區 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Java入門一般區
1 洋將 2410 
2 Aron 2130 
3 Aries 1510 
4 DEMO999 1310 
5 Ben 990 
6 ramb 620 
7 ozzy 570 
8 tand 460 
9 Huah 410 
10 vindy 400 
Java入門一般區
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
6.152344E-02