`

传值传引用,老问题了

    博客分类:
  • java
 
阅读更多

今天犯了一个错误:

例如:

public class Demo {
	public static void main(String[] args) {
		Demo d = new Demo();
		A a = null;//1
		B b = d.new B(a);//2
		a = d.new A();//3
		System.out.println(b.getA());//4
	}

	class A {
	}

	class B {
		private A a;

		/**
		 * 
		 */
		public B(A a) {
			this.a = a;
		}

		public A getA() {
			return a;
		}

		public void setA(A a) {
			this.a = a;
		}

	}
}

 

 我想打印的是类似对象package.A@239dsf324523的东西

 结果是null

 当时没细想,以为a = d.new A();//3 给a赋值了,因为是传的引用值,B b = d.new B(a);//2中的a此时就不为null,

 虽然对传值传引用有深刻的理解,但是,在使用的时候,却频频出错!!哎,重重的给了我一巴掌

 

 

 

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics