import java.awt.*; 
import java.applet.*; public class Sample extends Applet 

private String msg; public void init() 

setBackground(Color.cyan);//我听说这是在component中定义的 
setForeground(Color.red);//但是不知道为什么可以直接调用? 
msg="inside init() -- "; 
} public void start() 
{ msg+="Inside start() --"; 
} public void paint(Graphics g) 

msg+= "Inside paint() ."; 
g.drawString(msg,10,30); } } setBackground()可以直接调用么?这是个静态的公有办法,但是 
系统是如何找到的?为何不带类名就可以调用呢? 
 

解决方案 »

  1.   

    component对象是要先实例化的!才能用对象调用方法啊
      

  2.   

    请兄弟说详细一点啊,是Applet类继承了这个方法么?
      

  3.   

    java.applet 
    类 Applet
    java.lang.Object
      java.awt.Component
          java.awt.Container
              java.awt.Panel
                  java.applet.Applet
    这个方法当然不是静态方法,只是由java.awt.Component继承而来的,其实这里是this.setBackground(Color.?);你是在类的非静态方法里调用当然可以不用this啦,呵呵