博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中的别名现象
阅读量:4710 次
发布时间:2019-06-10

本文共 1220 字,大约阅读时间需要 4 分钟。

public class beiming {    /**     * @param 一个类的实例如果用等号直接相连,那么两个实例指向同一个对象.      * 这样他们调用的属性,或方法就会一直指向左边的实例.有变的会失效.     *    *解决的方法是需要让属性相等时调用属性然后用等号相连,这样就不会出现上述现象.         *看例子 */        float tom; public static void main(String[] args) {        beiming b1 = new beiming();        beiming b2 = new beiming();                b1.tom = (float) 12.00;        b2.tom = (float) 345.00;                        System.out.println("b1:tom="+b1.tom+"\n"+"b2:tom="+b2.tom);     // b1 = b2;        b1.tom = b2.tom; //解决方法                System.out.println("b1:tom="+b1.tom+"\n"+"b2:tom="+b2.tom);                b2.tom = (float) 34355.00;        System.out.println("b1:tom="+b1.tom+"\n"+"b2:tom="+b2.tom);    }}

 

将一个对象传入方法时也会产生别名现象

public class beiming {    static void f(letter y){  //新建一个静态方法,对传入对象的属性进行赋值        y.woca = "静态";    }    public static void main(String[] args) {                    letter l = new letter(); //新建一个对象        l.woca = "新增加的实例的woca属性"; //对该对象进行赋值.        System.out.println("woca属性的内容是:"+l.woca);                f(l); //调用方法,放入新建对象,然后输出,这时会发现,引用指向变了,这个需要主要避免.                System.out.println(l.woca);    }}class letter{ //新建类,用来beiming类测试    String woca;}

 

转载于:https://www.cnblogs.com/vawa/p/4013105.html

你可能感兴趣的文章
Redis
查看>>
C#中创建、打开、读取、写入、保存Excel的一般性代码
查看>>
数据结构与算法之美-排序(上)
查看>>
归并排序笔记2
查看>>
关于一个类中方法调用种种情况
查看>>
linux下查看文件夹的大小
查看>>
mvc页面中,显示自定义时间格式
查看>>
不支持uri格式
查看>>
Linux crontab计划任务
查看>>
疯掉的拼接
查看>>
Jupyter Notebook 快捷键使用指南
查看>>
SVN添加自动忽略文件.settings .project .classpath target等
查看>>
[THUPC2019]过河卒二(组合数学,容斥原理)
查看>>
238. Product of Array Except Self
查看>>
多线程技术交流提纲
查看>>
Java工程师必备书单
查看>>
InnoDB一定会在索引中加上主键吗
查看>>
Scala-字符串操作
查看>>
转一篇《计算机的潜意识》的文章
查看>>
[原] 蒙古文网站汇聚地
查看>>