java - 为什么 DrJava 返回静态错误?

标签 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 时,我都会得到,

Static Error: Undefined name

我运行的是 Ubuntu 11.10

最佳答案

您不是通过输入 java Square.java 来运行类,而是通过输入 java Square 来运行类。

(或运行 Square,相当于点击运行按钮。)

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

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

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

关于java - 为什么 DrJava 返回静态错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12546071/

相关文章:

Java - 如何将 irc 消息解析为人类可读的

javascript - JavaScript 中的多重继承

javascript - 如何使用中间 'chaining' 语句创建 'fluent' JavaScript API?

java - 有没有办法将文件中的类实现到新文件中?

VB6 集合删除不会触发 Class_Terminate

Java Swing - 按下的键未释放(有时)

java - Java中的Object类是什么?

java - 有没有比使用 CountDownLatch 更好的等待两个线程完成任务的方法?

oop - 对象如何在Lua中引用自身?

class - 我可以在 Scala 匹配语句中使用类变量吗?