對象調用的問題(Java)
提問者:________刺心丶 | 瀏覽 次 | 提問時間:2017-01-30 | 回答數量:9
看這個程序:class XiyoujiRenwu{float height, weight; String head, ear, hand, foot, mouth; void speak(String s) { head=\"歪著頭\"; System.out.println(s); }}class Example{ public static void main(String args[]) { XiyoujiRenwu Zhubajie, Sunwukong; Zhubajie = new XiyoujiRenwu; Sunwukong = new XiyoujiRenwu; Zhubajie.head = \" 大頭 \"; System.out.println(\"Zhubajie的頭 :\"+Zhubajie.head); ..........“1” Zhubajie.speak(\"我想娶媳婦\"); System.out.println(\"Zhubajie現在的頭:\"+Zhubajie.head); ..........“2”}}運行的結果是:Zhubajie的頭
已有9條答案
你這個程序可以運行嗎?
我一眼就看出錯誤來了
沒有publicclass
Zhubajie = new XiyoujiRenwu; 這是什麼東西?
正規的代碼 應該是這樣的
class XiyoujiRenwu {
float height, weight;
String head, ear, hand, foot, mouth;
public void speak(String s) {
head="歪著頭";
System.out.println(s);
}
}
public class Example {
public static void main(String args[]) {
XiyoujiRenwu Zhubajie, Sunwukong;
Zhubajie = new XiyoujiRenwu();
Sunwukong = new XiyoujiRenwu();
Zhubajie.head = " 大頭 ";
System.out.println("Zhubajie的頭 :"+Zhubajie.head);
Zhubajie.speak("我想娶媳婦");
System.out.println("Zhubajie現在的頭:"+Zhubajie.head);
}
}
少了public的話 編譯器也可以尋址的到 那個class是主的 但要通過main函數去尋找 這樣 在內部運行的效率不高而已!
艸xxoofly
回答數:90 | 被采納數:78
2017-01-30 19:50:58
書上的例題中就沒有publicclass
Zhubajie = new XiyoujiRenwu; 難道不是為對象分配內存嗎?
書上的例子比較長,我省了一些,但沒有省一個類! 省的全是Example類中的語句
我試著運行了下 出了2個錯誤:
解答:
Zhubajie.head = " 大頭 ";
程序執行到這句話的時候 就給XiyoujiRenwu 類中的head自定義了
接著馬上輸出語句System.out.println("Zhubajie的頭 :"+Zhubajie.head);
所以就出大頭了
程序繼續執行到Zhubajie.speak("我想娶媳婦");這句的時候 看回speak方法中
有個head="歪著頭"; 因此當執行speak完畢後 做了兩個事件第一先給head定義為“歪著頭”
再輸出“我想娶媳婦”
程序最後再執行輸出 System.out.println("Zhubajie現在的頭:"+Zhubajie.head);
當然 就是之前speak完畢後 做出的事件值咯 “歪著頭”
違心mmmmmmm
回答數:35 | 被采納數:38
2017-01-30 14:12:50
你按照我寫給你的代碼去運行就可以了 !
定義類的對象 是有括號的
Zhubajie = new XiyoujiRenwu ( );是這樣
而不是
Zhubajie = new XiyoujiRenwu; 這樣
neo_pang :
你改的程序也有誤,我運行了下,錯誤顯示和我在3樓發的貼子是一樣的
love_淺藍浠
回答數:90 | 被采納數:27
2017-01-30 16:45:32
定義類的對象 分配內存
實際上是調用類中的缺省構造函數的!
當你定義好 這個類class XiyoujiRenwu { .... }
後 就會默認的 有個構造函數
public XiyoujiRenwu ( ){....}
隻是沒寫出來而已
定義對象 都是調用類的這個構造函數 當然 你也可以自己定義帶有參數的構造函數!
所以 函數是有括號在後麵的 別忘記了!
我的代碼 沒有錯的!!!
我運行過了以後 才發上去的!
主要 的是你的編譯器 輸入的問題!
你看錯誤的提示就知道了
這些 分號 中括號 小括號 大括號的符號
應該是在全英文的狀態下輸入!
你先調整過你電腦上的輸入法 了再寫代碼吧!
一場_不切實際_
回答數:145 | 被采納數:121
2017-01-30 15:58:25
而且還有一個很嚴重的錯誤 很低級的錯誤 也是很重要的錯誤!
你應該是javac Example.java文件的
因為你的main函數 是定義在Example這個類當中
因此Example這個類才是共有主類!
而且保存的文件名應該是 Example.java這樣
然後在dos下運行
javac Example.java
java Example
即可!