为什么DrJava会返回静态错误?

时间:2012-09-22 17:25:46

标签: java oop class static undefined

我使用dr java for linux来运行我的代码。我最近在运行这个简单的程序时遇到了一堆错误。代码编译很好,但每当我运行java文件时,我都会收到错误; 静态错误:未定义的名称 这是我的代码; (我有两个文件,Square.java和SquareD.java) 这是Square.java

public class Square{
    private String name;
    private int y;
    private int x;

    public Square(String st,int x2,int y2){
        name=st;
        x=x2;
        y=y2;
    }

    public int square(){
        return x*x+y*y;
    }

    double a1=(double) x;
    double a2=(double) y;

    public double hypotenuse(double a1,double a2){
        double sum = a1*a1+a2*a2;
        return Math.sqrt(sum);
    }

    public int area(){
        return x*y;
    }

    public String getName(){
        return name;
    }
}

这是SquareD.java;

public class Square{
    private String name;
    private int y;
    private int x;

    public Square(String st,int x2,int y2){
        name=st;
        x=x2;
        y=y2;
    }

    public int square(){
        return x*x+y*y;
    }

    double a1=(double) x;
    double a2=(double) y;

    public double hypotenuse(double a1,double a2){
        double sum = a1*a1+a2*a2;
        return Math.sqrt(sum);
    }

    public int area(){
        return x*y;
    }

    public String getName(){
        return name;
    }
}

当我在交互窗口中输入java Square.javajava SquareD.java时,我明白了,

  

静态错误:未定义的名称

我正在运行Ubuntu 11.10

1 个答案:

答案 0 :(得分:2)

您不是通过键入java Square.java来运行课程,而是java Square

(或run Square,相当于点击 Run 按钮。)

但是您仍然需要具有以下签名的main方法:

public static void main(String[] args) {
    // etc.
}

然后当您键入java Square(假设您已编译它)时,它将运行main中的任何内容。