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

请纠正这个问题..我不明白

4

6 回答 6

4

在类 Base 中找不到主要方法

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

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

于 2013-07-20T06:38:15.323 回答
1

main()方法在Child类中,而不是在Base类中。

要修复,只需使用java Child而不是运行程序java Base

于 2013-07-20T06:39:06.333 回答
1

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

此外,即使这样做,您也无法覆盖它,因为它是静态的。

于 2013-07-20T06:39:23.553 回答
1

不是基类中的主要方法。您在基类中编写主要方法。

于 2013-07-20T06:42:28.453 回答
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();
   }
}
于 2013-07-20T07:13:13.673 回答
0

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

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

于 2013-07-20T06:54:13.403 回答