Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- interface MyCloneable<T extends MyCloneable<T>> extends Cloneable {
- T clone();
- }
- class Base<T extends Base<T>> implements MyCloneable<T> {
- @Override
- public T clone() {
- return (T) this;
- }
- }
- class A extends Base<A> implements MyCloneable<A> {
- @Override
- public A clone() {
- return this;
- }
- }
- class B extends A implements MyCloneable<A> {
- @Override
- public A clone() {
- return this;
- }
- }
- public static void main(final String[] args) {
- final B b = new B();
- final A a = b.clone();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement