import java.awt.event.*什么意思_java中的持有对方引用是什么意思?有什么用吗?

本文通过示例介绍了Java中持有对方引用的概念及其作用。持有对方引用可以让一个类方便地访问另一个类的成员变量,提高代码的灵活性。程序一展示了不使用引用传递成员变量的方式,而程序二通过持有对方引用,使得MyMonitor类可以直接访问MyFrame9的成员,简化了代码,提高了可维护性。持有对方引用在对象间的协作中起到了关键作用。
摘要由CSDN通过智能技术生成

持有对方引用比如 A类有: h、j、 k, 3种方法,B类有 h 1种方法,但我B类必须要用到 A 类的 k方法怎么办呢?那么下面就要引入引用了!我在 B 类中创建个A类的引用,例如 如果在同一包下就不用导包了

import 包名.A

public class B {

A a=null; 此a就是B类中 对A的引用

a=new A(); 用此引用创建了A类的实例

}

3d6dc717f0d39ac1b635a25746cb7a1a.png

持有对方引用的目的就是为了 更灵活的在对象与对象之间进行 配合 更具有灵活性

在一个类中访问另外一个类的成员变量,可以利用持有对方的引用来访问

本程序实现一个简单的加法运算器带图形界面的。

程序如下:先是不持有对方引用

import java.awt.*;

import java.awt.event.*;

public class TestMath {

public static void main(String[] args) {

MyFrame9 f = new MyFrame9();

f.MyMath();

}

}

class MyFrame9 extends Frame {

TextField tf1,tf2,tf3;

public void MyMath() {

tf1 = new TextField("10");

tf2 = new TextField("10");

tf3 = new TextField("20");

Label label1 = new Label("+");

Button b1 = new Button("=");

b1.addActionListener(new MyMonitor(tf1,tf2,tf3));

setLayout(new FlowLayout());

add(tf1);

add(label1);

add(tf2);

add(b1);

add(tf3);

pack();

setVisible(true);

}

}

class MyMonitor implements ActionListener {

TextField tf1,tf2,tf3;

MyMonitor(TextField tf1,TextField tf2,TextField tf3) {

this.tf1 = tf1;

this.tf2 = tf2;

this.tf3 = tf3;

}

public void actionPerformed(ActionEvent e) {

int n1 = Integer.parseInt(tf1.getText());

int n2 = Integer.parseInt(tf1.getText());

tf3.setText(""+(n1+n2));

}

}

再在源程序上修改为:持有对方引用

import java.awt.*;

import java.awt.event.*;

public class TestMath {

public static void main(String[] args) {

MyFrame9 f = new MyFrame9();

f.MyMath();

}

}

class MyFrame9 extends Frame {

TextField tf1,tf2,tf3;

public void MyMath() {

tf1 = new TextField("10");

tf2 = new TextField("10");

tf3 = new TextField("20");

Label label1 = new Label("+");

Button b1 = new Button("=");

b1.addActionListener(new MyMonitor(this));

setLayout(new FlowLayout());

add(tf1);

add(label1);

add(tf2);

add(b1);

add(tf3);

pack();

setVisible(true);

}

}

class MyMonitor implements ActionListener {

MyFrame9 mf = null;

MyMonitor(MyFrame9 mf) {

this.mf = mf;

}

public void actionPerformed(ActionEvent e) {

int n1 = Integer.parseInt(mf.tf1.getText());

int n2 = Integer.parseInt(mf.tf2.getText());

mf.tf3.setText(""+(n1+n2));

}

}

总结:很明显程序一要传每一个成员变量,比较不方便,而程序二相当于在跟一个持有全部成员变量的大管家在打交道,自然可以也可以跟成员变量打交道,方面了程序。

以上便是小编对“java中的持有对方引用是什么意思?有什么用吗?”的大致介绍,希望对您有所帮助!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值