Fork me on GitHub

Java中this用法(一)

/* 作为参数传递 需要在某些完全分离的类中调用一个方法,并将当前对象的一个引用作为参数传递时 */

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class Demo {
public static void main(String[] args) {
B b = new B(new AB());
System.out.println(b);
}
}
class AB{
public AB(){
new B(this).print(); // 匿名对象
/*匿名对象就是没有名字的对象。
* 如果对象只使用一次,就可以作为匿名对象,代码中 new B(this).print();
* 等价于 ( new B(this) ).print();,
* 先通过 new B(this) 创建一个没有名字的对象,再调用它的方法。*/
}
public void print(){
System.out.println("Hello from A!");
}
}
class B{
AB a;
public B(AB a){
this.a = a;
}
public void print() {
a.print();
System.out.println("Hello from B!");
}
}

Your support will encourage me to continue to create!