zoukankan      html  css  js  c++  java
  • javaweb_base

    回顾第一次基础加强

    1. 反射
    有一个字符串,它是一个类名称,我们可以使用反射来创建这个类的对象!
    有一个字符串,它是一个方法名称,我们可以使用反射来调用这个方法!

    2. 枚举
    枚举是一种多例模式!你学过单例就可以理解多例!一个类有固定的实例个数!

    1) 枚举的格式
    关键字不是:class、interface,它是enum
    enum 名称{
    选项1,选项2....;//如果在枚举后还有其他内容,那么必须给出分号,如果没有内容了,可以不给出分号。
    }
    2) 枚举类都有一个共同的父类,Enum

    -------------------------

    泛型

    1. 把运行时的一部分ClassCastException异常,转移到编译时!
    2. 省去了一部分的强转的代码!
    3. 如何来写一个泛型类!
    class A<T> {
    private T t;
    public T get() {}
    public void set(T t) {}
    }
    4. 如何来写一个泛型方法
    特点:返回值、参数中都会使用T(泛型)
    调用时为ts指定类型之后,会隐式为T赋值!String[] strs = {...}; get(str);
    显式赋值:MyClass.<String>get(strs)
    class MyClass {
    public static <T> T get(T[] ts) {//返回数组中中间元素的值
    return ts[ts.length/2];
    }
    }

    ============================

    1. 泛型类的子类,以及泛型接口的实现类怎么写!
    * 父类是泛型的,但子类不一定是泛型的
    * 一般子类都需要给父类的泛型赋值!
    > 子类不是泛型类,为父类的泛型赋值为类型常量
    > 子类是泛型类,为父类的泛型赋值为自己的泛型

    class A<T> {}
    class AA1 extends A<String> {
    }

    class AA2<E> extends A<E> {
    }


    2. 泛型中的通配符
    1). 泛型是假的,因为在JVM中泛型已经被擦除了!
    2). 泛型就出现了引用的泛型,与new一边的泛型必须相同,例如:List<Object> list = new List<String>()这是不行的!
    3). 因为2)的问题,导致方法不通用!我们写一个方法,参数为List<Object>,但是因为泛型是假的原因,所以不能使用List<String>来调用!
    4). 使用通配符来处理方法的通用性问题。
    > 无界通配符<?>:所有泛型方法都作废
    > 子类通配符<? extends Xxx>:返回值为泛型的方法可用!
    > 父类通配符<? super Xxx>:参数为泛型的方法可用!

    注意:通配符只能出现在引用一端,而创建对象时,不能使用通配符!new ArrayList<?>(),不行!
    通配符大多都出现在:方法的形式参数

    class List {
    addAll(Collection<? extends E> c)
    }

    List<Number> list = new ArrayList<Number>();
    List<Integer> intList = ...();

    list.addAll(intList);

    3. 反射与泛型之间有什么关系!

  • 相关阅读:
    Java实现 蓝桥杯 算法提高 特等奖学金(暴力)
    Java实现 蓝桥杯 算法提高 特等奖学金(暴力)
    Java实现 蓝桥杯 算法提高 GPA(暴力)
    Java实现 蓝桥杯 算法提高 GPA(暴力)
    Java实现 蓝桥杯 算法提高 GPA(暴力)
    Java实现 蓝桥杯 算法提高 套正方形(暴力)
    Java实现 蓝桥杯 算法提高 套正方形(暴力)
    第一届云原生应用大赛火热报名中! helm install “一键安装”应用触手可及!
    云原生时代,2个方案轻松加速百万级镜像
    Knative 基本功能深入剖析:Knative Serving 自动扩缩容 Autoscaler
  • 原文地址:https://www.cnblogs.com/skyzcx520/p/3801645.html
Copyright © 2011-2022 走看看