係統粉 > 電腦問答 > 其他問答

已解決對象調用的問題(Java)

提問者:________刺心丶  |  瀏覽次  |  提問時間:2017-01-30  |  回答數量:9

對象調用的問題(Java) 看這個程序: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條答案
賽半仙大本營

賽半仙大本營

回答數:141  |  被采納數:52

你這個程序可以運行嗎?
我一眼就看出錯誤來了

沒有publicclass
Zhubajie = new XiyoujiRenwu; 這是什麼東西?
2017-01-30 14:01:46
讚 14
珩—殤

珩—殤

回答數:145  |  被采納數:57

正規的代碼 應該是這樣的
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函數去尋找 這樣 在內部運行的效率不高而已!
2017-01-30 18:15:59
讚 14
艸xxoofly

艸xxoofly

回答數:90  |  被采納數:78


書上的例題中就沒有publicclass
Zhubajie = new XiyoujiRenwu; 難道不是為對象分配內存嗎?

書上的例子比較長,我省了一些,但沒有省一個類! 省的全是Example類中的語句

我試著運行了下 出了2個錯誤:
(1)
2017-01-30 19:50:58
讚 9
大蟀神

大蟀神

回答數:34  |  被采納數:38

解答:
Zhubajie.head = " 大頭 ";
程序執行到這句話的時候 就給XiyoujiRenwu 類中的head自定義了
接著馬上輸出語句System.out.println("Zhubajie的頭 :"+Zhubajie.head);
所以就出大頭了

程序繼續執行到Zhubajie.speak("我想娶媳婦");這句的時候 看回speak方法中
有個head="歪著頭"; 因此當執行speak完畢後 做了兩個事件第一先給head定義為“歪著頭”
再輸出“我想娶媳婦”

程序最後再執行輸出 System.out.println("Zhubajie現在的頭:"+Zhubajie.head);
當然 就是之前speak完畢後 做出的事件值咯 “歪著頭”
2017-01-30 14:08:49
讚 3
違心mmmmmmm

違心mmmmmmm

回答數:35  |  被采納數:38



你按照我寫給你的代碼去運行就可以了 !
定義類的對象 是有括號的
Zhubajie = new XiyoujiRenwu ( );是這樣
而不是
Zhubajie = new XiyoujiRenwu; 這樣
2017-01-30 14:12:50
讚 3
總是_被寂寞

總是_被寂寞

回答數:171  |  被采納數:85

neo_pang :

你改的程序也有誤,我運行了下,錯誤顯示和我在3樓發的貼子是一樣的
2017-01-31 02:35:13
讚 17
love_淺藍浠

love_淺藍浠

回答數:90  |  被采納數:27

定義類的對象 分配內存
實際上是調用類中的缺省構造函數的!
當你定義好 這個類class XiyoujiRenwu { .... }
後 就會默認的 有個構造函數
public XiyoujiRenwu ( ){....}
隻是沒寫出來而已

定義對象 都是調用類的這個構造函數 當然 你也可以自己定義帶有參數的構造函數!
所以 函數是有括號在後麵的 別忘記了!
2017-01-30 16:45:32
讚 9
似水柔情丶h

似水柔情丶h

回答數:81  |  被采納數:32

我的代碼 沒有錯的!!!
我運行過了以後 才發上去的!
主要 的是你的編譯器 輸入的問題!
你看錯誤的提示就知道了
這些 分號 中括號 小括號 大括號的符號
應該是在全英文的狀態下輸入!
你先調整過你電腦上的輸入法 了再寫代碼吧!
2017-01-31 00:23:37
讚 8
一場_不切實際_

一場_不切實際_

回答數:145  |  被采納數:121

而且還有一個很嚴重的錯誤 很低級的錯誤 也是很重要的錯誤!

你應該是javac Example.java文件的
因為你的main函數 是定義在Example這個類當中
因此Example這個類才是共有主類!
而且保存的文件名應該是 Example.java這樣
然後在dos下運行
javac Example.java
java Example

即可!
2017-01-30 15:58:25
讚 14
相關問答
最新其他問答
解決方法