zoukankan      html  css  js  c++  java
  • 泛型的使用讲解

    import java.util.List;
    
    /**
     * 背景: 平常定义变量:String name,这里变化的是值,类型是不会变,指定为String,如果需要类型也能变化呢?此时泛型就登场了:
     * 泛型:
     * T name:此时类型是变化的,如可以是String ,也可以是其他任意的类型变量,如StringBuffer,因此泛型其实就是变化的类型
     * 泛型的使用:用在类上和用在方法上,不管使用在哪里,都必须要先声明,声明的方式<T>,尖括号里面的值是随便定的,写成<E>也可以;
     * 泛型声明在类上:此时类里面的成员变量和方法都可以直接使用它,如下面的A<T>,这叫做泛型的声明,private  T t,这是泛型的使用,类比普通变量声明,要先声明后使用
     * 如:String name;是声明变量,后面就可以使用name="xiaoming"
     * 泛型声明在方法上:如下面的sayHi方法,void前面的<E> 是声明泛型,参数E e是使用泛型,如果没有<E>声明就会报错,如下写法:
     * public void say(E e){} 这里将会报E为不知道的类型,编译都不会通过
     * 在集合中使用泛型变量时,可以使用泛型的父类List<? super E> e,或者泛型的子类List<? extends E> e
     */
    
    
    public class A<T>  {
    
       private T t;
    
       private String name;
    
       public <E> void sayHi(E e){
    
       }
       public <E> void swim(List<? extends E> e){
    
       }
       public <E> void fly(List<? super E> e){
    
       }
    
        public T getT() {
            return t;
        }
    
        public void setT(T t) {
            this.t = t;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    }

  • 相关阅读:
    php的多态性
    php接口
    php抽象类和抽象方法
    php类与对象的魔术方法
    php关键字
    php类型之class类,对象,构造函数的理解
    php日期格式化
    php之常用字符串方法
    php将获取的数组变成字符串传入txt文本。。。
    PHP之键值操作函数
  • 原文地址:https://www.cnblogs.com/yangxiaohui227/p/10842884.html
Copyright © 2011-2022 走看看