<span style="font-size:24px;">package test;
import java.awt.*;
import java.awt.event.*;
public class TFMath {
public static void main(String[] args) {
new TFFrame().launchFrame();
}
}
class TFFrame extends Frame {
TextField num1, num2, num3;
public void launchFrame() {
num1 = new TextField(10);
num2 = new TextField(10);
num3 = new TextField(15);
Label lb1plus = new Label("+");
Button btnEqual = new Button("=");
btnEqual.addActionListener(new MyMoniter(this));
setLayout(new FlowLayout());
add(num1);
add(lb1plus);
add(num2);
add(btnEqual);
add(num3);
pack();
setVisible(true);
}
}
class MyMoniter implements ActionListener {
TFFrame tf = null;
<span style="color: #FF0000;">public MyMoniter(TFFrame tf){
this.tf = tf;
}</span>
public void actionPerformed(ActionEvent e) {
int n1 = Integer.parseInt(tf.num1.getText());
int n2 = Integer.parseInt(tf.num2.getText());
tf.num3.setText(""+(n1+n2));</span>
<span style="font-size:24px;">}</span>
<span style="font-size:24px;">}
</span>
解释:就是设置一个属性而已,只不过是个对象,所以直接指向引用就可以了,不用再new一个,很明显要传每一个成员变量,比较不方便,而持有引用就相当于在跟一个持有全部成员变量的大管家在打交道,自然可以也可以跟成员变量打交道,方面了程序。
<span style="font-size:24px;">class A{
B b;//这儿就叫做持有对方的引用,他持有对B的引用(好处就是当A需要用到对象B的时候可以直接实例化b,然后使用,不需要再传值)
fangfaA(){
}
}
class B{
fangfaB(){}
}</span><span style="font-size: 14px;">
</span>