首页 > 代码库 > Java中的别名现象
Java中的别名现象
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中的别名现象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。