Java 我不能在eclipse中运行这个程序,但它可以在JGRASP上运行
我有下面的代码来创建一个抽象类、扩展抽象类的具体类和一个main方法。在JGRASP中编译并正常运行时没有错误。当我在eclipse中运行时,它只是不运行,但不会产生错误。我将文件命名为Product.java 代码如下:Java 我不能在eclipse中运行这个程序,但它可以在JGRASP上运行,java,eclipse,command-line,Java,Eclipse,Command Line,我有下面的代码来创建一个抽象类、扩展抽象类的具体类和一个main方法。在JGRASP中编译并正常运行时没有错误。当我在eclipse中运行时,它只是不运行,但不会产生错误。我将文件命名为Product.java 代码如下: abstract class Product { int value; public Product(int val) { value = val; } abstract public int multiply(int n)
abstract class Product {
int value;
public Product(int val) {
value = val;
}
abstract public int multiply(int n);
}
class TimesTwo extends Product {
public TimesTwo(int val) {
super(val);
}
@Override
public int multiply(int n) {
return value * n;
}
public static void main(String[] args) {
TimesTwo two = new TimesTwo(5);
System.out.println(two.multiply(5));
}
}
我还尝试在命令行上运行:
javac Product.java
我得到Product.class
和times2.class
当我跑的时候
Java times2.class
或Java产品.class
我在线程“main”中得到
异常java.lang.NoClassDefFoundError:
确保TimesTwo.java
在运行Eclipse
之前作为单独的java源文件存在,确保TimesTwo.java
在运行Eclipse之前作为单独的java源文件存在。您应该将TimesTwo
更改为public>类,并尝试按如下方式运行命令:
java TimesTwo
运行类时,在结尾处没有.class
,您应该将TimesTwo
更改为public class
,并尝试按如下方式运行命令:
java TimesTwo
当运行一个类时,在结尾没有.class
,这对我来说很有效。您如何在Eclipse中运行该程序?我右键单击TimesTwo->RunAs->Java App。当文件名为Product.Java时,您如何运行它?我需要将下面提到的Reimeus分离出来,以使其工作,以及如何从eclipse获得Times2。因为您只有一个名为Product.Java.的文件,所以我可以使用。您如何在Eclipse中运行该程序?我右键单击TimesTwo->RunAs->Java App。当文件名为Product.Java时,您如何运行它?我需要将下面提到的Reimeus分离出来,以使其工作,以及如何从eclipse获得Times2。因为您只有一个名为Product.Java的文件。事实上,即使文件名为Product.Java,这对我也有效。在我将其分离出来之前,Java甚至没有为我提供运行配置:)我单击了类本身,而不是文件。也许这就是问题所在difference@Reimeus它起作用了,但我为什么要分开呢。是因为,抽象类。如果我有父类和子类,它就可以正常工作,而不会分离出来。不,Eclipse希望类Product
本身有一个main
方法,即文件的实际名称。如果您添加了一个虚拟main
方法,您将获得2个运行配置—每个类一个。命令行解释器没有这个限制实际上,即使文件名为Product.javad,它也能为我提供运行配置,直到我将它分离出来:)我单击了类本身,而不是文件。也许这就是问题所在difference@Reimeus它起作用了,但我为什么要分开呢。是因为,抽象类。如果我有父类和子类,它就可以正常工作,而不会分离出来。不,Eclipse希望类Product
本身有一个main
方法,即文件的实际名称。如果您添加了一个虚拟main
方法,您将获得2个运行配置—每个类一个。命令行解释器没有此限制