导航:首页 > 编程语言 > java继承泛型类

java继承泛型类

发布时间:2022-06-23 07:24:37

java 如何继承泛型

下面一个子类继承泛型父类的例子,可以参考一下:

//父类是一个泛型
classParent<T>{

privateTval;

publicTgetVal(){
returnval;
}

publicvoidsetVal(Tval){
this.val=val;
}
}

classChild1extendsParent<Integer>{

}

classChild2extendsParent<String>{

}

publicclassApp{

publicstaticvoidmain(String[]argv){

Child1c1=newChild1();
c1.setVal(123456);
System.out.println(c1.getVal());

Child2c2=newChild2();
c2.setVal("abcdef");
System.out.println(c2.getVal());

}
}

Ⅱ Java泛型 继承接口相关问题

当然正确。
FifoCache是一个泛型类,V由在创建此类的实例时指定具体类型,再传给接口中的V,而接口interface Cache<K,V>中的K已显式指定为String类型。因此,在创建此类的实例时,接口interface Cache<K,V>中的K,V都已指定了具体的类型,当然正确。

Ⅲ 为什么Java泛型与继承的问题报错

如果实现的时候没有声明泛型,那么默认在实现类里面是不存在泛型的,比如interface InterfaceC<T> {
String foo(String l);
}

public class Test implements InterfaceC {

@Override
public String foo(String l) {
return l.toString();
}
}
这时候是没问题的,但是因为list<?>中的问号也是泛型,所以如果
interface InterfaceC<T> {
String foo(List<Integer> l);
}

public class Test implements InterfaceC {

@Override
public String foo(List<Integer> l) {
return l.toString();
}
}
这样,那么实现类里面的foo方法会被认为是新方法(当然,泛型擦除后可以认为是正常的,但编译时会认为没有实现抽象方法)
@Override
public String foo(List l) {
// TODO Auto-generated method stub
return null;
}
而这样就是可以的,如果实现的时候声明了泛型的类型,那么所有实现方法的时候把所有跟T有关的都要写成声明的那个类型,而list<?>因为原来就声明了泛型类型,所以不必跟实现类中声明的泛型类型一致,所以你的后一种方法不报错(这一点我也觉得很牵强,希望了解的人可以解答一下)

Ⅳ 求助:java泛型的继承与实现问题

把<week>和<year>去掉即可.这不是泛型方法的格式..

public <T> void print(T v);这里的<T>只是为了声明T类型.

///////////////////////////////////////////////////////////

这样写只能算是对Override(重写)的方法进行的Overload(重载),而并非对其进
行的Override

@Override
public <T> void print(T t){//重写继承自接口的方法
}

public void print(week v) {//重载print
switch(v){
case monday:... }
}
public void print(year v) {//重载print
switch(v){
case January:....
}
}

Ⅳ java中接口具有泛型,继承的时候该怎么处理

大部分java离得接口好像都是泛型吧?
class test implements 接口<对象(例如String,Integer等等)>

Ⅵ Java 泛型和继承的区别

泛型是参数化类型,把运行时期可能产生的问题,提前到了编译时期,用来保证代码安全性!
跟继承区别?这两根本就不是一回事呢....
你非要把这两个概念整在一起,那么就有一点关联就是如果父类带有泛型:
子类有两个动作可做:1:覆盖.2:擦除

Ⅶ java泛型该怎么深继承 amp;怎么获得数组的class对象

泛型的类型是无法在运行时通过反射取得的,泛型类型在编译成字节码的时候已经被虚拟机给去掉了,只是起到提示编译器进行类型检查的作用
用这种方法你试一试:父类:import java.lang.reflect.ParameterizedType;
public class Parent<T {
public Parent() {
ParameterizedType type = (ParameterizedType)this.getClass().getGenericSuperclass();
System.out.println("type==" + type);
System.out.println("entityClass==" + type.getActualTypeArguments()[0]);
System.out.println("getOwnerType==" + type.getOwnerType());
System.out.println("getRawType==" + type.getRawType());}}子类:public class Child<T extends Parent<String {

Ⅷ Java中的泛型的问题

public BaseDao(){

Class clazz=this.getClass(); //通过当前对象(this)获取当前类

clazz.getGenericSuperclass(); //返回当前类的父类的Type

//转换成有泛型的ParameterizedType类

ParameterizedType parameterizedType=(ParameterizedType)clazz.getGenericSuperclass();

//上面三句其实就是为了获取BaseDao类本身

Type[] types = parameterizedType.getActualTypeArguments();

this.type=(Class<T>)types[0];

//上面两句是获取运行期的泛型类型,返回给当前对象(this)的type属性

}

Ⅸ Java 继承泛型类后相同方法名算覆写吗

把<week>和<year>去掉即可.这不是泛型方法的格式.. public <T> void print(T v);这里的<T>只是为了声明T类型. /////////////////////////////////////////////////////////// 这样写只能算是对Override(重写)的方法进行的Overload(重载),而并非对其进 行的Override @Override public <T> void print(T t){//重写继承自接口的方法 } public void print(week v) {//重载print switch(v){ case monday:... } } public void print(year v) {//重载print switch(v){ case January:.... } }

Ⅹ Java中如何实现泛型类和泛型类之间的继承

A1的泛型参数要有两个,否则无法确定抽象父类的泛型。
public class inher
{
public static void main(String[] args)
{
var a1 = new A1<Child, Parent>();
a1.a = new Parent();
a1.b = new Child();
a1.a.parent = 1;
a1.b.child = 2;
System.out.println(a1.a.parent);
System.out.println(a1.b.child);
}
}

abstract class A<T>
{
public T a;
}

class A1<U extends T, T> extends A<T>
{
public U b;
}

class Parent
{
public int parent;
}

class Child extends Parent
{
public int child;
}

阅读全文

与java继承泛型类相关的资料

热点内容
二进制流转pdf 浏览:913
php判断爬虫 浏览:567
960除24除4简便算法 浏览:786
关于解压英语翻译 浏览:565
python控制键盘右键 浏览:920
php没有libmysqldll 浏览:828
时政新闻app哪个好 浏览:906
手机已加密怎么办 浏览:201
安卓手机截屏怎么传到苹果 浏览:527
京管家app哪里下载 浏览:33
文件夹横向排列的竖向排列 浏览:453
51单片机驱动摄像头模块 浏览:689
政府文件加密没法转换 浏览:373
android判断栈顶 浏览:331
凭证软件源码 浏览:860
androidwebview滚动事件 浏览:11
如何将电脑上的图片压缩成文件包 浏览:899
程序员转金融IT 浏览:837
黑马程序员培训效果如何 浏览:915
本地集成编译 浏览:528