2013-08-04 83 views
0

我是一名初學java程序員;也就是說,我不知道條款和內容。請不要使用這些編程術語,或者至少用一種無知的方式來定義它們,就像我會理解的那樣。 所以我試圖創建一個簡單的點/圓碰撞。如果給定的點在圓內,我必須使程序打印爲真;如果點在圓外或在圓的邊界上,則必須使該程序打印爲真。我需要四節課。在我的一個類中,我有這種方法getX()(類OOPoint,名稱)。當我在另一個類中調用這個方法時,我得到錯誤。請告訴我這個錯誤的含義以及我應該如何解決這個問題。 下面的代碼。我也不知道這是否是完全正確的:/BlueJ錯誤:非靜態方法(OOPoint)不能從靜態上下文中引用

public class OOPoint 
{ 
    double x; 
    double y; 

    public OOPoint(double x, double y) 
    { 
     this.x = x; 
     this.y = y; 
    } 

    public double getX(OOPoint point) 
    { 
     return this.x; 
    } 

    public double getY(OOPoint point) 
    { 
     return this.y; 
    } 
} 
+0

調用者類在哪裏?你如何訪問方法? –

回答

1

你可能試圖調用這樣的方法:只需

OOPoint.getX(); 

也許,從OOPoint類中的一個主要方法:

getX(); 

它只能用於靜態方法。

爲了使它與您所擁有的類一起工作,首先需要創建一個Point對象,然後調用它的getX方法。例如:

OOPoint point = new OOPoint(2, 3); //create a new point object 
double x = point.getX(); //x = 2 

您可以爲靜態和實例字段/方法之間的差異的例子讀this tutorial

相關問題