Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class Base {
- public static class A extends Base { ... }
- public static class B extends Base { ... }
- public static Base createA(...) { return new A(...); }
- public static Base createB(...) { return new B(...); }
- public static interface Visitor<T> {
- T visit(A a);
- T visit(B b);
- }
- public abstract <T> T accept(Visitor<T> visitor);
- }
Add Comment
Please, Sign In to add comment