码迷,mamicode.com
首页 > 编程语言 > 详细

Java中的别名现象

时间:2014-10-09 15:50:06      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   ar   java   sp   div   log   new   

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;
}

 

Java中的别名现象

标签:style   blog   color   ar   java   sp   div   log   new   

原文地址:http://www.cnblogs.com/vawa/p/4013105.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!