/** * 数値を表すノードです。 */ public class Numeric implements Node {
/** * 構文木のノードです。 */ public interface Node {
package com.tatesuke.javalab; import java.awt.Dimension; import java.awt.MouseInfo; import java.awt.PointerInfo;
public class Main { public static void main(String[] args) { Foo foo = new FooLogger(new FooImpl());
public class FooLogger implements Foo { private Foo foo; public FooLogger(Foo foo) {
public class Main { private Foo foo;
public class Main { public static void main(String[] args) { Foo foo = FooFactory.createFoo(); // Fooの生成はファクトリに任せる
public class Main { public static void main(String[] args) { Foo foo = new FooProxy(); // ここだけ変わる foo.foo();
public class FooProxy implements Foo { private FooImpl fooImpl = new FooImpl();
public class FooImpl implements Foo { @Override public void foo() { System.out.println("foo");