返回信息流不使用静态方法
这是一条镜像帖。来源:北邮人论坛 / java / #14610同步于 2010/5/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
同一个对象如何在不同类中调用,如何实现呢
fxb010
2010/5/18镜像同步8 回复
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
如果不使用静态方法,那么总需要一种办法把该对象传入其它class中。
1. singleton,
Class A {
private static A instance = new A();
public static A getInstance() {
return instance;
}
public void foo() {}
}
Class B {
public void foo() {
A.getInstance().foo();
}
}
2. 在其它类初始化的时候,或是在使用A.foo()之前,将A的instance出入。
Class C {
private A a;
public C(A a) {
this.a = a;
}
public void foo() {
a.foo();
}
}
or
Class D {
private A a;
public void setA(A a) {
this.a =a;
}
public void foo() {
a.foo();
}
}
Class Main {
public static void main(String[] args) {
C c = new C(new A());
c.foo();
D d = new D();
d.setA(new A());
d.foo();
}
}
上面的Main有些混淆了。改为下面的更清楚些。
Class Main {
public static void main(String[] args) {
A a = new A();
C c = new C(a);
c.foo();
D d = new D();
d.setA(a);
d.foo();
}
}