首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

很有趣的一个抽象类

2012-12-27 
很有趣的一个抽象类。?public abstract class EitherL, R implements Serializable{/** **/private stati

很有趣的一个抽象类。

?

public abstract class Either<L, R> implements Serializable{/** *  */private static final long serialVersionUID = 0l;private Either() { }@SuppressWarnings("unchecked")public boolean  isLeft() {return (this instanceof Left);}@SuppressWarnings("unchecked")public boolean isRight() {return (this instanceof Right);}public abstract L _left();public abstract R _right();public static <L, R> Either<L, R> right(final R r) {return new Right<L, R>(r);}public static <L, R> Either<L, R> left(final L l) {return new Left<L, R>(l);}private static final class Left<L, R> extends Either<L, R> implements Serializable{/** *  */private static final long serialVersionUID = 7066970081776250327L;private final L l;Left(final L l) {this.l = l;}@Overridepublic L _left() {return l;}@Overridepublic R _right() {return null;}}private static final class Right<L, R> extends Either<L, R> implements Serializable{/** *  */private static final long serialVersionUID = -894488879249418100L;private final R r;Right(final R r) {this.r = r;}@Overridepublic L _left() {return null;}@Overridepublic R _right() {return r;}}}

?

?

要么 left,要么right,哈哈.不能继承的。。。。

热点排行