Java复习:泛型

Java复习:泛型_第1张图片

 Java复习:泛型_第2张图片

如果不统一的话 强转有可能会出问题 

Java复习:泛型_第3张图片

 Java复习:泛型_第4张图片

用了泛型,编写的时候就会报错避免了后续可能出现的问题。

Java复习:泛型_第5张图片

 Java复习:泛型_第6张图片Java复习:泛型_第7张图片

 Java复习:泛型_第8张图片

高仿哈哈哈(装饰模式)

 Java复习:泛型_第9张图片

 Java复习:泛型_第10张图片

传的是String T就代表Str 穿的Integer T就代表Integer 

 泛型方法T代表你传进来的是啥 我们这里就把他定义为啥 ,所以兼容性更好!

这个规范的是类型 比如说是String或Integer类型,后边?规定的是

Java复习:泛型_第11张图片

 

 Java复习:泛型_第12张图片

 Java复习:泛型_第13张图片

差不多,就是你传的是什么类型,我们接口里面就调用哪个 类型,确实是实现类决定了功能的操作类型。

Java复习:泛型_第14张图片

这个接口泛型实际上是规范了实现类的写法。注意的就是 

要按照标准格式<>。 

Java复习:泛型_第15张图片

核心思想就是通过<> ,具体代码或者类中传进来是什么类型,执行方法那边就会通过T 或者E来代表实际类型,更通用吧!! 

Java复习:泛型_第16张图片

 Java复习:泛型_第17张图片

Java复习:泛型_第18张图片

必须是Car或Car的子类,狗就不行了 

super应该是有子类的时候才会规范

 ?可以代表一切类型,如果有两个泛型的类型想执行同一个方法,那就把方法那的形参中的泛型写成<?>就可以啦!

  T:表示同一种类型。
  ?:表示任意类型

T代表你传进来什么 我这边就是什么

?代表你可以同时传不同的数据,我这边都能跑

其实感觉T和?差不多。。。

Java复习:泛型_第19张图片

而Java的泛型类型或泛型方法则是泛型参数在声明时带有多少类型信息,在该类型或方法内就只能用多少信息。在泛型类型或泛型参数实例化的地方仅仅需要检查传入的泛型参数与声明的限制是否匹配,而不会在实例化后再对类型或方法内部做类型检查。 

泛型方法不能调用实例化对象参数

用泛型传递集合中的对象时,不能调用get set方法!

可能是因为他不能确定每个类型中的是否都有这些方法

Java复习:泛型_第20张图片

这样就可以了 

你可能感兴趣的:(java,开发语言)