精选文章 别名机制

别名机制

作者:y_y__d_d 时间: 2021-02-05 09:54:08
y_y__d_d 2021-02-05 09:54:08
【摘要】将对象的引用进行赋值操作  
package chap3;
//展示别名机制
public class Ex2 { float num;
}
 class Test{ public static void main(String[] args) { //将e1和e2绑定到了相同的对象 Ex2 e1 = new Ex2(); Ex2 e2 = new Ex2(); e1.num = 12.0f...

将对象的引用进行赋值操作 

package chap3;
//展示别名机制
public class Ex2 { float num;
}
 class Test{ public static void main(String[] args) { //将e1和e2绑定到了相同的对象 Ex2 e1 = new Ex2(); Ex2 e2 = new Ex2(); e1.num = 12.0f; e2.num = 24.0f; System.out.println("将e1和e2绑定到了相同的对象!"); System.out.println("e1.num = " + e1.num); e1 = e2; System.out.println("e1.num = " + e1.num); e1.num = 55; System.out.println("e1.num = " + e1.num + "\n" + "e2.num = " + e2.num);
// System.out.println("避免将e1和e2绑定到了相同的对象!");
// e1.num = e2.num;
// System.out.println("e1.num = " + e1.num
// + "\n" + "e2.num = " + e2.num);
// e1.num = 13;
// System.out.println("e1.num = " + e1.num+ "\n" + "e2.num = " + e2.num); }
}

别名机制1

将e1和e2绑定到了相同的对象,简单理解就是e1,e2这两个引用指向了同一块内容(e1.num)。 

方法调用中的别名机制

 

package chap3;
//方法调用中的别名问题
class Another{ float m;
}
public class Test3 { static void func(Another x){ x.m = 12.0f; } public static void main(String[] args) { Another a = new Another(); a.m = 99.0f; System.out.println("调用方法前:" + a.m); func(a); System.out.println("调用方法后:" + a.m); }
}

别名机制2

func()方法中的实参是一个引用,通过传递这个引用,来改变引用的指向的内容。 原本引用a指向的是99.0,调用func()方法后,该引用指向了12.0.s

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:C#封装成DLL,并在C#中调用

下一篇:理解golang中关键字-chan&select

您可能感兴趣

  • C++Builder:在运行时创建BDE别名

    C++Builder:在运行时创建BDE别名    通过BDE别名来连接数据库,确实很方便,然而,那些没有确定的数据库,我们却无法给它创建别名。而大多数时候,当我们把程序交给别人真正投入使用时,别名的路径也是不确定的。这就要求我们在程序运行时动态连接到数据库。  现在,假设在程序运行目录下有个通讯录Friends.db,我们要通过TQuery、TDataSource等控件来访问:本人学习编程...

  • VCL HardCore —— VCL窗口函数注册机制研究手记,兼与MFC比较

    VCL  HardCore      ——VCL窗口函数注册机制研究手记,兼与MFC比较                  By  cheka  cheka@yeah.net     (转载请保留此信息)     这个名字起的有些耸人听闻,无他意,只为吸引眼球而已,如果您对下列关键词有兴趣,希望不要错过本文: 1.        VCL可视组件在内存中的分页式管理; 2.        让...

  • DELPHI中的消息处理机制

    DELPHI中的消息处理机制   Delphi是Borland公司提供的一种全新的WINDOWS编程开发工具.由于它采用了具有弹性的和可重用的面向对象Pascal(object-oriented pascal)语言,并有强大的数据库引擎(BDE), 快速的代码编译器, 同时又提供了众多出色的构件.受到广大编程人员的青 睐. 在众 多 的 编 程 语 言( 如VB,PowerBuilder,P...

  • 消息映射机制

    消息映射机制  任何需要消息映射的类,在其定义中必须加入DECLARE_MESSAGE_MAP()。 宏DECLARE_MESSAGE_MAP() 的定义如下:#ifdef _AFXDLL#define DECLARE_MESSAGE_MAP() /private: /static const AFX_MSGMAP_ENTRY _messageEntries[]; / //采用登录AFX_M...

  • Oracle8i基于规则的优化机制对表达式的处理

    ORACLE优化器在任何可能的时候都会对表达式进行评估,并且把特定的语法结构转换成等价的结构,这么做的原因是: ·         要么结果表达式能够比源表达式具有更快的速度 ·         要么源表达式只是结果表达式的一个等价语义结构 不同的SQL结构有时具有同样的操作(例如:= ANY (subquery) and IN (subquery)),ORACLE会把他们映射到一个单一的语...

  • 基于DirectDraw的Gamma calibrator机制之探讨

    基于DirectDraw的Gamma calibrator机制之探讨 一.问题的提出 Gamma calibrator基于动态gamma ramp技术。为系统提供动态gamma ramp支持,基于以下应用的需要:1. 游戏程序的设计者可以为用户提供一致的视觉效果,而不论用户使用什么系统。2. 随着电子商务的迅猛发展,商家和用户都迫切需要在Internet上看到货物样品的真实色彩。3. 谁都希...

  • C++面向对象特性实现机制的初步分析 Part2

    本人beta版的毕业论文,请各位指正!   Chapter 1 准备知识   C++是一种面向对象的高级语言,要了解它的一些内部机制,我们有必要先熟悉其二进制代码的编译过程,并且要了解运行这些二进制代码时内存中各个区域的变化情况。   1.程序对内存的使用方法 代码区 全局数据区 堆区 栈区 code area data area stack area heap area任...

  • 企业信息与网络通信安全(7)退出机制

    七、退出机制 投资者的退出方式有许多种,如IPO(首次公开上市)、收购、公司回购、二次出售、清算、注销等。其中以IPO形式退出所获得的收益高于其他退出途径。但在中国,对上市公司有着严格的规定,往往只有那些各行业中的“领头羊”才有望上市,因此进入壁垒高。而且,IPO成功的前提是有一个健康规范的股票市场,这不仅对于上市公司意义重大,而且对风险投资业的长期繁荣也具有关键性的意义。而中国的股市虽然已...

CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
别名机制介绍:华为云为您免费提供别名机制在博客、论坛、帮助中心等栏目的相关文章,同时还可以通过 站内搜索 查询更多别名机制的相关内容。| 移动地址: 别名机制 | 写博客