在类Base中找不到主要方法

时间:2013-07-20 06:35:21

标签: java

class Base
{
   int x;
   int y;
   void show()
   {
      System.out.println(x);
      System.out.println(y);
   }
}
class Child extends Base
{
   void get(int x,int y)
   {
      this.x=x;
      this.y=y;
   }

   public static void main(String[] args)
   {
      Child c1=new Child();
      c1.get(10,20);
      c1.show();
   }
}

请更正此问题..我不明白

6 个答案:

答案 0 :(得分:4)

  

在类Base

中找不到主要方法

这是因为Base没有main()方法;只有Child。因此,java Base将不起作用,而java Child将会起作用(假设没有其他问题)。

如果您需要能够java Base运行,那么Base必须采用main()方法。

答案 1 :(得分:1)

main()方法位于Child类,而不是Base类。

要修复,只需使用java Child而不是java Base

运行程序

答案 2 :(得分:1)

您的Base课程没有主要方法。

此外,即使它确实如此,你也无法覆盖它,因为它是静态的。

答案 3 :(得分:1)

基类中不是主要方法。你在Base Class中编写main方法。

答案 4 :(得分:1)

如果要运行Base类,则应创建一个类Base(在File Base.java中,并在之前删除文件Child.java ...)并在其中写入:

package my.stuff;

 class Child extends Base
{
   void get(int x,int y)
   {
      this.x=x;
      this.y=y;
   }


}

public class Base
{
   int x;
   int y;
   void show()
   {
      System.out.println(x);
      System.out.println(y);
   }

   public static void main(String[] args)
   {
      Child c1=new Child();
      c1.get(10,20);
      c1.show();
   }
}

答案 5 :(得分:0)

首先,单个文件中只能有一个公共类,并且必须与文件名具有相同的名称。执行Java程序时,请按java MyClass执行。 Java解释器将尝试在指定的Class文件中找到带有签名public static void main(String arg)的方法(在本例中为MyClass)。

现在在您的代码中,您似乎正在调用java Base,并且java解释器无法在此类(Base)中找到main()方法。所以很明显你会在类Base错误中找到Main方法。我建议你将main()方法移到Base类。