我注意到在java-application中向包含main方法的类添加非静态方法然后在main-method中调用它会导致编译错误。我可以理解,因为这个类永远不会被实例化。
但是,将一个非静态方法添加到Applet类并从内部调用它,比如paint方法可以正常工作。为什么是这样?小程序类是以某种方式由appletviewer实例化的,还是有另一种解释为什么前者不被允许而后者是?
答案 0 :(得分:6)
applet-class是以appletviewer
的方式实例化的
绝对。请参阅"Life Cycle of an Applet"的Applets tutorial部分。特别是:
由于applet被加载,你应该看到文本“初始化......开始......”。加载applet时,会发生以下情况:
- 创建applet控件类(Applet子类)的实例。
- 小程序初始化。
- 小程序开始运行。