泛型

概述:泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定 义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。

      使用方法 泛型类:

                定义一个泛型类:

                                 public class ClassName{

                                            private T data;  

                                            public T getData() {

                                                  return data;  

                                           }    

                                    public void setData(T data) {

                                                  this.data = data;

                                     }

                          }

           泛型接口

                                    public interface IntercaceName{

                                                             T getData();

                                                }

          实现接口时,可以选择指定泛型类型,也可以选择不指定。

             指定类型:

                                    public class Interface1 implements IntercaceName {

                                                     private String text;

                                       @Override  

                                                     public String getData() {

                                                                      return text;  

                                                }

                                    }  

             不指定类型:

                                                  public class Interface1 implements IntercaceName {

                                                                    private T data;

                                                         @Override  

                                                                    public T getData() {

                                                                             return data;                

                                                                }

                                                    }

    泛型方法

                                       private static T 方法名(T a, T b) {}

     泛型限制类型 

                             1. 在使用泛型时, 可以指定泛型的限定区域 ,

                                  - 例如: 必须是某某类的子类或 某某接口的实现类,格式:

                                              <T extends 类或接口1 & 接口2>

            泛型中的通配符 ?

                                   类型通配符是使用?代替方法具体的类型实参。

                                           1 <? extends Parent> 指定了泛型类型的上届

                                            2 <? super Child> 指定了泛型类型的下届

                                            3 <?> 指定了没有限制的泛型类型 泛型的作用

泛型好处

             1、 提高代码复用率 2、 泛型中的类型在使用时指定,不需要强制类型转换(类型安全,编译器会检查类型)

posted @ 2021-04-01 17:24  纯白白  阅读(29)  评论(0)    收藏  举报