0

在执行下面的程序时,我收到错误消息“错误:在 Parent_Package.Parent 类中找不到主方法,请将主方法定义为:public static void main(String[] args)”........ .......... 任何人都知道如何解决这个问题吗?

First Package
==============
package Parent_Package;

public class Parent {
     int money = 100;enter code here
     protected  void give_Money(){
    money = money-10;
     System.out.println(money);
}
}

======================
Second Package
===================================
 package Child_Package;

 import Parent_Package.Parent;

 class Child extends Parent{
        public void donate() {
            give_Money();
        }

    }

 class Friend {
     public static void main(String[] args){
    Child c = new Child();
    c.donate();

    }
}

==================================================</body></html>
4

4 回答 4

8

运行这个 Java 程序时,您需要运行Friend该类,因为这是唯一一个具有 main 方法的类。

看起来您正在运行Parent没有定义 main 方法的类。

于 2013-03-13T10:55:23.277 回答
2

classwhich hasmain方法应标记public为.

所以,让你class Friendpublic class Friend

运行java Friend而不是java Parent

于 2013-03-13T10:56:26.707 回答
0

默认情况下,运行一个包含多个类的文件将运行公共类(单个文件中只能有一个类是公共的)。在您的代码中 Parent 是不包含 main 方法的公共类。这就是为什么它没有找到主要方法。

于 2013-03-13T11:09:38.420 回答
0

由于您尚未将 Parent 类标记为 public,因此将分配“默认”访问修饰符。在java中,类只能看到另一个包中存在的“公共”类。由于您的 Friend 被标记为默认值(由编译器),因此 Child 类将无法看到 Parent 类。

于 2013-10-10T04:41:04.167 回答