谁可以讲一下什么叫持有对方的引用?

lgkobe 2008-05-05 10:06:42
对下面的这段代码有个地方不懂,就是持有对方的引用,应该怎么理解?大家指点指点吧。
为什么要写下面这个构造方法??
public MyMoniter(TFFrame tf){
this.tf = tf;
}



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;
public MyMoniter(TFFrame tf){
this.tf = tf;
}


public void actionPerformed(ActionEvent e) {
int n1 = Integer.parseInt(tf.num1.getText());
int n2 = Integer.parseInt(tf.num2.getText());
tf.num3.setText(""+(n1+n2));
}
}

...全文
216 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
一步一个脚印 2008-05-06
  • 打赏
  • 举报
回复
public class ManagerUser{
//.....对User信息进行操纵的一些代码
}

public class Person{
public ManagerUser managerUser = null;
public Person(ManagerUser managerUser){
this.managerUser = managerUser;
}
public void setAge(int age){
managerUser.setUserAge(age);
managerUser.updateUser();
/....一些操纵信息
}
}

//别问我为什么这样写,, 这只是表达一下持对方引用
//可以理解为 门面模式
skyqiang 2008-05-06
  • 打赏
  • 举报
回复
持有对方引用就是..比如现在有一个大管家..他拥有你所以门的钥匙..
现在大管家听你的...难道你想去厨房不可以吗..
lgkobe 2008-05-05
  • 打赏
  • 举报
回复
那如果我写成这样子行吗?去掉public MyMoniter(TFFrame tf){
this.tf = tf;
}

class MyMoniter implements ActionListener {
TFFrame tf = newTFFrame();

public void actionPerformed(ActionEvent e) {
int n1 = Integer.parseInt(tf.num1.getText());
int n2 = Integer.parseInt(tf.num2.getText());
tf.num3.setText(""+(n1+n2));
}
}

吴冬冬 2008-05-05
  • 打赏
  • 举报
回复
就是设置一个属性而已,只不过是个对象,所以直接指向引用就可以了,不用再new一个
老紫竹 2008-05-05
  • 打赏
  • 举报
回复
此构造方法强制要求,MyMoniter 必须有一个 TFFrame 的实例才能运行,

如果画图,必须有画笔一样。

67,518

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧