日期:2014-05-20  浏览次数:20745 次

public <T extends Shape> T add()和public Shape add()有什么区别啊!
Shape是一个抽象基类。上面两个不都是以Shape为类型添加的吗,他们有什么区别吗

------解决方案--------------------
public <T extends Shape> T add()
T是泛型,是指继承了Shape的任何类型都可以。
public Shape add()
是返回Shape这种类型。
当然,你在实际操作的过程中也可以返回它的子类。获取到后要再强制类型转化才可以。而上面的方式不用强制类型转化。
------解决方案--------------------
探讨

public <T extends Shape> T add()
T是泛型,是指继承了Shape的任何类型都可以。
public Shape add()
是返回Shape这种类型。
当然,你在实际操作的过程中也可以返回它的子类。获取到后要再强制类型转化才可以。而上面的方式不用强制类型转化。