2010-11-16 55 views
2

我對此感到尷尬,當然我只是忘記了一些簡單的東西。如何在Java中調用對象?

,如果這是body.java

public class body{ 

    public static void main(String args[]) 
    { 
     int i = 0; 
    part aPart = new part(i); 
    aPart.add(); 
    } 
} 

,這是part.java

public class part{ 

    private int i; 
    public int part(int i) 
    { 
     this.i = i+10; 
    } 
    public add() 
    { 
     i = i++; 
     System.out.println(i); 
} 

爲什麼當我運行javac編譯body.java,它說未知符號的一部分?

+0

在同這些是包? – 2010-11-16 17:58:59

+0

如果您希望爲您編譯某些內容,並希望比Eclipse更簡單輕便,請查看http://www.drjava.org。 – Brendan 2010-11-16 18:03:36

+2

總是以大寫形式定義Java類中的第一個字符(Body,Part) – CoolBeans 2010-11-16 18:04:21

回答

4

因爲零件是你的構造函數(你不需要在他的答案中聲明@amir的返回類型)。你應該做

public part(int i) {...} 

作注,Java約定是具有類名稱的大寫,所以您應將文件更改爲Part.java,類聲明爲「部分」,和你的構造太...

編輯 - @coolbeans答案也是正確的 - 如果你的問題中的代碼是正確的,你錯過了一個右大括號。

+0

是的,我注意到大小寫問題。我在一個更大的程序中遇到了問題,所以我認爲最好是讓這個測試程序看看我忘了什麼。但是,經過比較,我發現了這個問題,我正在進行編輯,並且做了太多! – Blackbinary 2010-11-16 18:07:57

1

javac *.java

+0

這是直接的問題......但'部分'構造函數也是錯誤的 – Thorarin 2010-11-16 18:04:52

+0

一次一個錯誤... – 2010-11-16 18:17:30

0

爲了詳細闡述hvgotcodes的說法,構造函數沒有返回類型。 Java類的構造函數不是一個普通的方法。它的唯一目的是實例化它所屬類的一個對象。

+0

我在你的答案中引用了你的答案。 – hvgotcodes 2010-11-16 18:02:59

+0

完美無瑕。 – 2010-11-16 18:04:44

1

更改部件類象下面這樣: -

public class Part{ 

    private int i; 
    public Part(int i) 
    { 
     this.i = i+10; 
    } 
    public void add() 
    { 
     i = i++; 
     System.out.println(i); 
    } 
} 

,並調用它是這樣的: -

int i = 0; 
Part aPart = new Part(i); 
aPart.add(); 
+0

我在我的答案中引用了你的答案...... – hvgotcodes 2010-11-16 18:04:23

+0

確實是hvgotcodes。 – CoolBeans 2010-11-16 18:06:08

+0

謝謝,這幫助我在我編輯的更大程序中找到問題。 – Blackbinary 2010-11-16 18:08:26

0

您需要聲明構造

public part(int i) { 
    this.i = i; 
}