• java学习基础知识八——泛型


    一、为什么要有泛型Generic
    1、泛型Generic:


    2、java中的泛型只在编译阶段有效,不会进入到运行阶段。

    二、泛型类

    /**
     * 此处的泛型T可以任意的取名
     * 一般使用T,意为type
     * @author 小虞哥哥
     *
     * @param <T>
     */
    class A<T>{
        private T key;
        
        public void setKey(T key){
            this.key=key;
        }
        
        public T getKey(){
            return this.key;
        }
    }
    
            //泛型类
           A<String> a=new A<String>();    //在new A的对象指定泛型的类型String
           a.setKey("张三");    //对象使用setKey(T key)方法中的key形参就是String
            String strA=a.getKey();        //T getKey(),返回值就有new对象确定返回值是String
            System.out.println(strA);
            
            A<Integer> a2=new A<Integer>();
            a2.setKey(1);
            int i=a2.getKey();
            System.out.println(i);

    三、泛型接口

    //定义一个泛型接口
    inteface Generator<T>{
        T next();
    }

    四、通配符
    1、格式:

    //不确定集合中的元素具体的数据类型,使用?表示所有类型
    public void test(List<?>list){
        System.out.println(list);
    }

    2、举例:
      →<? extends Person> (无穷小,Person]
        只允许泛型未Person及Person子类的引用调用
      →<? super Person> [Person,无穷大)
        只允许泛型未Person及Person父类的引用调用
      →<? extends Comparable>
        只允许泛型未实现 Comparable接口的实现类的引用调用

    五、枚举类
    1、手动实现枚举类:
      private 修饰构造器
      属性使用private final修饰
      把该类的所有实例都使用public static final来修饰
    2、枚举类和普通类的区别:
      →使用enum定义的枚举类默认继承了java.lang.Enum类
      →枚举类的构造器只能使用private访问控制符
      →枚举类的所有实例必须在枚举类中显示列出(,分隔 ;结尾)
    3、实现接口的枚举类
      →和普通java类一样,枚举类可以实现一个或多个接口
      →若需要每个枚举值在调用实现的接口方法呈现出不同的行为方式,则可以让每个枚举值分别实现该方法
    4、枚举类的方法:

    六、注解——基本的Annotation
    1、使用Annotation时要在其前加@符号,并把该Annotation当成一个修饰符使用。用于修饰它支持的程序元素
    2、三个基本的Annotation:
      →@Override:限定重写父类方法,该注释只能用于方法
      →@Deprecated:用于表示某个程序元素(类,方法等)已过时
      →@SuppressWarnings:抑制编译器警告
    3、自定义Annotation
      →定义新的Annotation类型使用@interface关键字
      →Annotation的成员变量在Annotation定义中以无参数方法的形式来声明。其方法名和返回值定义了该成员的名字和类型。
      

  • 相关阅读:
    人生中最重要的三位老师
    自我介绍
    秋季学习总结
    第五周学习总结
    第四周总结
    第三周基础作业
    判断上三角矩阵
    第二周作业及编程总结
    求最大值及其下标
    查找整数
  • 原文地址:https://www.cnblogs.com/MeiToufu/p/14342279.html
Copyright © 2020-2023  润新知