importjava.awt.*;importjava.awt.event.*;classMyButtonextendsButtonimplementsActionListener{Containerc;TextFieldtf;MyButton(Strings,Containerc){super(s);this.c=c;tf=newTex...
import java.awt.*;
import java.awt.event.*;
class MyButton extends Button implements ActionListener
{ Container c;
TextField tf;
MyButton(String s,Container c)
{ super(s);
this.c=c;
tf=new TextField(10);
c.setLayout(new FlowLayout());
c.add(tf);
c.add(this);
this.addActionListener(this);
tf.addActionListener(this);
c.setSize(200,200);
c.show();
}
public static void main(String[] args)
{ new MyButton("确定",new Frame());
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==this)
{ tf.setText(this.getLabel());
}
else
{ this.setLabel(tf.getText());
}
}
}
这个程序,我自己写的类里面定义了一个 容器类的对象,而这个 容器类的对象是一个窗口, 但是这个容器类的对象 是我定义的这个类的 成员变量,也就是按钮类的间接子类的成员变量。 那么请问 new MyButton("确定",new Frame());的时候,对象的模型到底是怎么样的。
我的疑问是,按钮类的成员变量是窗口,但是按钮又可以加到自己的成员变量上面,也就是说我的按钮又能放上我的容器里面,那么在内存里面的模型,到底是谁包含谁啊??
是窗口包含按钮呢???还是按钮包含窗口??(注意:窗口是按钮类里面的一个成员变量)
跪求~~~~!!%>_
展开