2012-11-11 70 views
-2

如何創建兩個或更多可以相互交互的類? 例如,在所述第一類中的方法將是static,在第二類產生例如一個斐波納契數目,和另一種方法,將做一些與已在第一類中創建由該方法的斐波數,以及如何擴展我的課程?如何創建2個或更多相互交互的類?

+0

好的,一切都很好,但爲什麼你想在這種情況下擴展類? –

+0

你的問題有點像「我如何用C++編程」,因此對於SO來說不是很好。標準迴應:你有什麼嘗試?你現在的代碼有什麼錯誤? – hyde

回答

1

因爲你似乎開始用java代碼,所以我認爲this oracle articleModifiers是理解一個類如何與另一個進行交互的好開始。

因此,要回答你的問題:

讓我怎麼做出彼此交互2班或以上?

一個類與另一個類交互有幾種方式。請注意,我已經選擇了我發現對於您的特定示例更有用的那些。其中最常見的是類BAR的

  • 實例從像下面的實例的類Foo的另一個實例調用一個方法:

    Foo foo = new Foo() 
    Bar bar = new Bar(); 
    
    bar.setSomeFieldValue(foo.getSomeOtherFieldValue()); 
    
  • 類Foo延伸類BAR,並調用所定義的構建體在它的超類:這將嘗試回答你的問題上:你如何擴展一個類

    Class Foo extends Bar 
    { 
        public Foo() 
        { 
         super(); //Calling the Bar Class construct 
        } 
    } 
    
  • 類Foo希望Bar類的實例作爲方法的參數:

    import dir.barpackage.Bar; 
    
    Class Foo 
    { 
        private int x; 
    
        public Foo() 
        { 
         //Construct an Instance of the Foo object 
        } 
    
        public void doSomethingWithBar(Bar bar) 
        { 
         Foo.x = bar.getSomeBarPropertyValue(); 
        } 
    } 
    

進一步說你的問題:

例如,在第一類中的方法是靜態的,例如產生一個斐波那契數,另一個方法在第二類中將做一些與斐波那契數一樣的方法創建的第一類

下面的例子是這樣的一個方式

FirstClass.java

Class FirstClass 
{ 
    private static int fibonnacciNumber; // This field is private to this class and thus can be only accessed by this class 

    public static int getFibonnaciNumber() // A public method can be accessed any place other than your class 
    { 
     return FirstClass.fibonnacciNumber; 
    } 
} 

二等。java的

Class SecondClass 
{ 
    public void doSomethingWithFibonnacciNumber(int fibonnacciNumber) 
    { 
     //Will do something with your fibonnacci number; 
    } 
} 

用法示例

SecondClass second = new SecondClass(); 
second.doSomethingWithFibonnacciNumber(FirstClass.getFibonnacciNumber()); 

我希望它幫助的。乾杯。

+0

如果答案正確,請將其標記爲如此。否則Stackoverflow將永遠不會知道你的問題已經解決。考慮提出有幫助的答案,這樣可以讓其他具有類似問題的用戶更輕鬆地找到答案。 –

0

您不必'擴展'類。只需在第二課的一個方法內調用(public)靜態方法即可。就這樣。