这是泛型的一个例子
数据库
public interface Database<T> { public T createNode(...); public void modifyNode(T id, ...); ... }数据库1
class Database1 implements Database<Long> { @Override public Long createNode(...) { ... long result = // obtain id of created node return result; } @Override public void modifyNode(Long id, ...) { ... // use id }}数据库2
public class Database2 implements Database<SomeObject> { @Override public SomeObject createNode(...) { ... SomeObject result = // obtain id of created node return result; } @Override public void modifyNode(SomeObject id, ...) { ... // use id as (SomeObject)id } }顺便说一句,不用担心自动装箱。您正在使用JDK>
= 5,因为有@Override注释。



