千锋教育-做有情怀、有良心、有品质的职业教育机构

当前位置:首页  >  IT问答库  >  Java基础知识

Java泛型继承原理与用法

发布:Java培训 2022-01-20 15:16

Java泛型继承原理与用法

推荐答案

      当创建了带泛型声明的接口、父类之后,可以为该接口创建实现类,或从该父类来派生子类,但值得指出的是,当使用这些接口、父类时不能再包含类型形参。

      如果使用泛型类时没有传入实际的类型参数,Java编译器可能发出警告:使用了未经检查或不安全的操作——这就是泛型检查的警告。

      实战——传入实际的类型参数

      public class A1 extends Apple<String> {

      // 正确重写了父类的方法,返回值

      // 与父类Apple<String>的返回值完全相同

      public String getInfo() {

      return "子类" + super.getInfo();

      }

      /*

      // 下面方法是错误的,重写父类方法时返回值类型不一致

      public Object getInfo()

      {

      return "子类";

      }

      */

      }

      实战——没传入实际的类型参数

      public class A2 extends Apple {

      // 重写父类的方法

      public String getInfo() {

      // super.getInfo()方法返回值是Object类型,

      // 所以加toString()才返回String类型

      return super.getInfo().toString();

      }

      }

      并不存在泛型类

      1、点睛

      虽然可以把ArrayList<String>类当成ArrayList的子类,事实上ArrayList<String>类也确实是一种特殊的ArrayList类,这个ArrayList<String>对象只能添加String对象作为集合元素。但实际上,系统并没有为ArrayList<String>生成新的class文件,而且也不会把ArrayList<String>当成新类来处理。

      实际上,泛型对其所有可能的类型参数,都具有同样的行为,从而可以把相同的类被当成许多不同的类来处理。与此完全一致的是,类的静态变量和方法也在所有的实例间共享,所以在静态方法、静态初始化、或者静态变量的声明和初始化中不允许使用类型形参。

      系统中并不会真正生成泛型类,所以instanceof运算符后不能使用泛型类。

      2、实战

      public class R<T>

      {

      // 下面代码错误,不能在静态变量声明中使用类型形参

      // static T info;

      T age;

      public void foo(T msg){}

      // 下面代码错误,不能在静态方法声明中使用类型形参

      // public static void bar(T msg){}

      }

      以上就是关于Java泛型继承原理与用法详解的全部内容。

最新问答资讯

01 unity用什么编程语言?unity学习难度大吗

学习 unity 语言
6020 人关注

02 python容易学吗?学好python有什么好处?

学习 python 工作 培训
5389 人关注

03 html是什么语言?html学习难吗?

学习 html 语言 可以
5062 人关注

04 c语言难学吗?c语言学好要多久?

语言 技术 学习
4733 人关注

06 学好平面设计要多久?报速成班靠谱吗?

平面 设计 学习 时间
4238 人关注

相关问题

Java培训班的课程一般都学习什么内容

首先是Java技术的核心和基础JavaSE,这一阶段会接触到Java基础语...

学习Java有哪些技巧吗

java作为最经典的编程语言之一受到大家的喜爱,不止你我,很多人...

java程序员常用到的技术有哪些

操作系统、计算机网络这些基础知识,工作之后基本都忘的差不多了...

int和integer有哪些区别?

int 和 Integer 的基本区别有如下⼏点: int 是基本数据类型,...

JVM模型的介绍二

JVM模型的介绍二,接着上一篇我们继续来分享,栈之本地方法栈。 ...

JVM模型的介绍一

Java培训班教程系列分享JVM模型的介绍一,Java内存分配:JVM定义...

测一测
你知道多少IT梗