2013-08-04 82 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

相关问题