黑马程序员技术交流社区

标题: 泛型接口抛锚了???????? [打印本页]

作者: 茄子    时间: 2014-6-24 09:29
标题: 泛型接口抛锚了????????
本帖最后由 茄子 于 2014-6-28 15:52 编辑

同志们,茄子又有问题了……
红色字体为错误所在的地方!!!哥儿几个给我看看哈!!!


package fifteen;
/*
* 泛型接口
* */


interface inter<T>
{
        void show(T t);
}

class interimplements implements inter<String>
{
        public void show(String t)
        {
                System.out.println("show^^^^^^^"+t);
        }
}

class Interimplements_2<T> implements inter<T>  //这里,出现了问题
{
        public <T> void show(T t)
        {
                System.out.println("show……………………"+t);
        }
}
public class GenericImplements {

        public static void main(String[] args) {
                interimplements i=new interimplements();
                i.show("haha");
                Interimplements_2<Integer> i_2=new Interimplements_2<Integer>();
                i_2.show(8);

        }

}




作者: 轻语。    时间: 2014-6-24 09:53
本帖最后由 伍叶竹 于 2014-6-24 09:56 编辑
  1. public void show(T t)
  2.         {
  3.                 System.out.println("show……………………"+t);
  4.         }
复制代码


作者: 轻语。    时间: 2014-6-24 09:59
以下代码修改为上楼层我贴的。
class Interimplements_2<T> implements inter<T>  //这里,出现了问题
{
        public <T> void show(T t)
        {
                System.out.println("show……………………"+t);
        }
}

作者: 茄子    时间: 2014-6-24 10:13
伍叶竹 发表于 2014-6-24 09:59
以下代码修改为上楼层我贴的。
class Interimplements_2 implements inter  //这里,出现了问题
{

竹子 ,这怎么让我有点理解不了啊,我那不是有一个类,实现了inter接口吗???然后复写了接口中的方法,只是加了一个泛型指定而已,你这是把我接口的实现都修改了啊啊啊啊啊啊啊啊啊啊啊啊!!!!
作者: 轻语。    时间: 2014-6-24 10:31
茄子 发表于 2014-6-24 10:13
竹子 ,这怎么让我有点理解不了啊,我那不是有一个类,实现了inter接口吗???然后复写了接口中的方法, ...

那就这样改改 ,先改你定义的接口中抽象方法:
interface inter<T>
{
        <T> void show(T t);// 泛型方法
}

这样你标识出的红色部分代码不会出错。不过定义的第一个实现接口的类,实现接口中方法的时候:
public <String> void show(String t)
        {
                System.out.println("show^^^^^^^"+t);
        }


实现泛型接口在实现其抽象方法的时候,格式可能要多注意,我也没有详细的参考资料。网上也找不到好的,一点想法你参考参考。


作者: 轻语。    时间: 2014-6-24 11:04
= = 原来我第一次没改错。  

class Interimplements_2<T> implements inter<T>  //这里,出现了问题
{
        public <T> void show(T t)  //  这个T是不需要的。 定义的接口中也没有。这里实现也没有,如果定义的时候加上,这里也可以加上。
        {
                System.out.println("show……………………"+t);
        }
}
视频在15天,11课。茄子看对否?


作者: 茄子    时间: 2014-6-25 10:44
伍叶竹 发表于 2014-6-24 11:04
= = 原来我第一次没改错。  

class Interimplements_2 implements inter  //这里,出现了问题

你是一株可爱的竹子!!!,不过,我喜欢!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2