Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法运行程序_Java_Eclipse - Fatal编程技术网

Java 无法运行程序

Java 无法运行程序,java,eclipse,Java,Eclipse,我一直在使用Eclipse运行Java程序。之前一切都进行得很顺利,但现在我无法在单击“RunAs”时获得选项“1Java应用程序”,尽管我的程序中没有错误。谁能帮我处理一下吗 class Base{ public int baseVar; public int var; public Base(int v){ baseVar=v; System.out.println("Base class parameterized constructor");

我一直在使用Eclipse运行Java程序。之前一切都进行得很顺利,但现在我无法在单击“RunAs”时获得选项“1Java应用程序”,尽管我的程序中没有错误。谁能帮我处理一下吗

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();
    }
}

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

public static void main(String[] args)
如果可以,试着从命令行运行它-这样行吗

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

更改:

class abc


我怀疑这个类是私有的,因此您不能运行它。您必须将java名称文件更改为
abc.java
,并将
类abc公开

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

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

public class abc {
    public static void main(String args[]) {
        Der Derobj = new Der(10);
        Derobj.display();
        Derobj.useOfSuper();
    }

你可以发布屏幕截图或代码吗“运行方式>”子菜单到底显示了什么?您在安装eclipse时做了任何更改吗?有软件升级,插件安装吗?顺便说一句,即使项目中存在编译时错误,该选项也应显示。请尝试选择“运行配置”,并检查是否可以在左侧的树中找到“Java应用程序”。你要点击哪个文件?编辑你的帖子并把代码放在那里,因为现在很难从评论中阅读。只需编辑你的问题并添加代码即可。在这里的注释中,我们无法理解您的问题菜单项不依赖于main()方法的存在。即使在我创建一个新的空Java项目时,“作为Java应用程序运行”菜单项也是可用的。@Andreas:我使用的Eclipse版本(4.2.1)并非如此。如果我将
main
重命名为
bar
,该选项将消失。嗯,当从项目中选择上下文菜单时,该选项将保持不变-当从.java文件中选择菜单时,它确实会消失。无论如何,OP中的代码(对我来说)在这两种情况下都可以工作case@Andreas:啊-在文件中单击鼠标右键时,我正在谈论上下文菜单。Dave此abc不是内部类。此处的类不是私有类。它是在包级别,但作为入口点类调用main方法需要是公共的。@John我正在使用sible文件来保存整个代码。我将该文件命名为abc.java,它可以正常工作。我正在使用Eclipse3.7.0。Harpreet你能不能也检查一下你的文件名。@Jon我使用的版本也是如此。如果与eclipse版本有关,则不确定(不确定较旧版本)
public class abc {
    public static void main(String args[]) {
        Der Derobj = new Der(10);
        Derobj.display();
        Derobj.useOfSuper();
    }