【作者:孟祥月 博客:http://blog.csdn.net/mengxiangyue】
如果你看到上面的题目迷惑了,那就只能怪我语文不好了,你强忍着看下去,看到最后你就会懂了。
泛型的作用是限制存储的数据的类型,我们可能就会想使用了泛型的类也是Object的子类,自然应该可以可以转型成为使用Object作为泛型创建的对象。我先把代码贴出来然后再进行解释: www.2cto.com
class Point
{
private T x;
private T y;
public T getX()
{
return x;
}
public void setX(T x)
{
this.x = x;
}
public T getY()
{
return y;
}
public void setY(T y)
{
this.y = y;
}
}
public class Demo2
{
public static void main(String[] args)
{
Point
Point
// p3 = p2;
}}
在上面的代码中我们可以看到一个使用Sting和一个使用Object创建的p2和p3,我们很自然的想到可以将p2转型成为p3,但是结果是不可以转换。可能读者会纳闷,我们举个例子解释一下:假如我们汽车和奔驰,奔驰是汽车的子类吧,现在我们需要用东西把汽车和奔驰分别装起来,这时候它们就不是汽车和奔驰了。而成了装它们的东西了,那么你说这两个东西有继承的关系吗?我想你会说没有,对于程序中的问题你也清楚了,那么你也可能会想到赋值,还是借用上面的例子,这两个东西能够赋值吗,你里面放的东西不一样啊,希望解释到这里读者能够明白了,现在才发现我的表达能力真的不怎样啊,还请读者多多包涵。
如果哪里写错了,还请指出