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 后面有 但他没有显示
需要在抽象类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;
}
}
如果对你有帮助,请采纳一下哈!