1

我一直在使用 Eclipse 来运行 Java 程序。一切都很顺利,但现在当我单击“运行方式”时,我无法获得“1 Java 应用程序”选项,尽管我的程序中的错误为零。谁能帮助我如何处理它?

class Base{
    public int baseVar;
    public int var;
    public Base(int v){
     baseVar=v;
     System.out.println("Base class parameterized constructor");
     }
}
class Der extends Base{
    public int derVar;
    public int var;
    public Der(int v){
        super(v);
      derVar=v;
      System.out.println("Derived class parameterized constructor");
    }
    public void display(){
      System.out.println("Base variable value="+baseVar);
      System.out.println("Derived variable value="+derVar);
    }
    public void useOfSuper(){
      var=15;
      var=20;
      System.out.println("Base variable var=" + 
                     super.var);
      System.out.println("Derived variable var="+var);
    }
}
class abc{
    public static void main(String args[]){
      Der Derobj=new Der(10);
      Derobj.display();
      Derobj.useOfSuper();
    }
}
4

4 回答 4

2

我怀疑您的程序没有合适的main方法:

public static void main(String[] args)

如果是这样,请尝试从命令行运行它 - 这行得通吗?

编辑:如评论中所述,方法的存在是否main影响上下文菜单似乎取决于 Eclipse 的版本。在我在家使用的版本(4.2.1)中,除非有main方法,否则不会出现上下文菜单选项。

于 2013-06-05T08:24:27.370 回答
1

改变 :

class abc

public class abc

我怀疑该类是私有的,因此您无法运行它。您必须将您的 java 名称文件更改abc.javaclass abc public.

于 2013-06-05T08:34:53.657 回答
0

请在下面使用。您的代码缺少包含 main 方法的类的公共标识符。

public class abc {
    public static void main(String args[]) {
        Der Derobj = new Der(10);
        Derobj.display();
        Derobj.useOfSuper();
    }
于 2013-06-05T08:38:42.590 回答
0

您的 main() 在您的类 abc 中,将其移动到您的 Base 中,一切都会正常工作(我在这里假设您发布的所有代码都已放在一个名为 Base.java 的文件中)

于 2013-06-05T08:36:08.780 回答