抽象泛型类,继承了要如何实现实现这个泛型

public abstract class a
{
public abstract N mag(N t);
}

不懂,继承了这个抽象类要如何实现里面的泛型

泛型是创建对象的时候指定的,不是直接实现的,

package com.fanxing;

/**
 * 泛型抽象类
 * @author Jiyh
 *
 * @param <T>
 */
public abstract class A <T>{

    public abstract T mag(T t);
}


package com.fanxing;

/**
 * 
 * 继承A类
 *
 * @param <T>
 */
public class B<T> extends A<T> {

    /**
     * B继承了A,并不实现具体泛型
     */
    @Override
    public T mag(T t) {
        
        return t;
    }

}

package com.fanxing;

/**
 * 示例对象
 * @author Jiyh
 *
 */
public class FanXing {

}

package com.fanxing;

/**
 * 示例类1
 * @author Jiyh
 *
 */
public class FanXing1 {

}

package com.fanxing;

/**
 * 测试类
 * @author Jiyh
 *
 */
public class Test {

    public static void main(String[] args) {
        //创建对象时,指定泛型具体类是FanXing
        A<FanXing> fx = new B<FanXing>();
        
        //创建对象时,也可以指定泛型为 FanXing1
        A<FanXing1> fx1 = new B<FanXing1>();
        
        //创建对象时,也可以指定泛型为 String
        A<String> fxString = new B<String>();
    }
}

class a 后面有 但他没有显示

img

需要在抽象类A加一个泛型N,然后继承这个抽象类的时候给予泛型的具体类型,比如:


public abstract class A<N>
{
    public abstract N mag(N t);
}
public class B extends A<Integer>{
    @Override
    public Integer mag(Integer t) {
        return null;
    }
}


如果对你有帮助,请采纳一下哈!