class A {
public A(int x) {
}
}
class B {
public B(long x) {
}
}
class C {
public C(double x) {
}
}
publicclass Facade {
static A makeA(int x) {
returnnew A(x);
}
static B makeB(long x) {
returnnew B(x);
}
static C makeC(double x) {
returnnew C(x);
}
publicstaticvoid main(String args[]) {
// The client programmer gets the objects by calling the static methods:
A a = Facade.makeA(1);
B b = Facade.makeB(1);
C c = Facade.makeC(1.0);
}
}