为什么applet中允许使用非静态方法?

时间:2012-08-09 20:50:35

标签: java static-methods appletviewer

我注意到在java-application中向包含main方法的类添加非静态方法然后在main-method中调用它会导致编译错误。我可以理解,因为这个类永远不会被实例化。

但是,将一个非静态方法添加到Applet类并从内部调用它,比如paint方法可以正常工作。为什么是这样?小程序类是以某种方式由appletviewer实例化的,还是有另一种解释为什么前者不被允许而后者是?

1 个答案:

答案 0 :(得分:6)

  

applet-class是以appletviewer

的方式实例化的

绝对。请参阅"Life Cycle of an Applet"Applets tutorial部分。特别是:

  

由于applet被加载,你应该看到文本“初始化......开始......”。加载applet时,会发生以下情况:

     
      
  • 创建applet控件类(Applet子类)的实例。
  •   
  • 小程序初始化。
  •   
  • 小程序开始运行。
  •