泛型通配符
当不能确定给泛型参数传递什么实际的类型时,可以使用通配符“<?>”来表示具体的泛型参数;
泛型限定#
泛型上限:所传递的泛型参数的类型只能是指定的类型本身或者子类类型;
<? extends 上限类型> 泛型下限:所传递的泛型参数的类型只能是指定的类型本身或者父类类型; <? super 下限类型> 集合中关于泛型通配符和上下限的特殊情况,集合类在创建对象的时候如果该集合的泛型参数没有通配符,那么该集合不能 # 枚举【Enum】 # 1. 指的是java语言中类的一种,但是这种类的对象个数是有限个; 2.单例模式:一个类只能产生一个对象,不管这个类有多少个使用者使用,这些使用者获取到的对象都是同一个对象; 定义单例模式的类: 1.构造器私有化; 2.提供公共的获取该类对象的方式; 3.自定义枚举类: 1.关键字Enum,枚举类是一种特殊的类,特殊在默认将构造器私有化了,以及特殊在枚举类中直接提供了该类的对 象,并且该枚举类的对象是public static final修饰的,自定义的枚举类默认继承自java.lang.Enum类【抽象类】。 2.由于枚举类也是一种类,所以在枚举类中也能定义变量、方法【成员方法,类方法。抽象方法】,如果枚举类中有抽象方法,则需要在该枚举类每个对象上都重写该抽象方法。 3.枚举类可以实现接口,但是不能继承自其他类;【默认实现了Enum类】;枚举类实现接口以后需要接口中的抽象方法,抽象方法的重写有两种形式; 1.直接在该枚举类中重写,该枚举类的所有对象调用重写之后的抽象方法的结构是一致的; 2.在枚举类的每个对象中重写接口中的抽象方法,每个对象在调用改重写的方法时调用是自己的方法; 4.枚举类中可以定义多个构造器:构造器默认是private修饰,或者可以在定义构造器时显示的使用private修饰,当定义其他构造器之后会覆盖默认的无参构造器,此时枚举类中每个对象就不能通过无参构造器来创建。 1.在枚举类中提供无参构造器 2.在每个枚举类对象上提供使用其他自定义的构造器创建对象时的参数【实参】;
反射技术
1.Class类:该类用于描述.Class文件这类事物;
2.类加载机制:双亲委托机制--向上委托向下加载
类加载器:
启动类加载器:
扩展类加载器:
系统类加载器:
3.获取一个类的Class对象【镜像】:、
1.通过调用某一个类或者某个基本数据类型的.Class属性;
class student{}
Class sc=Student。Class;
2.通过某个类的对象调用.getClass方法获取;
Class Teacher{}
Teacher t=new Teacher();
Class sc=t.getClass();
3.通过某个类的类全名的字符串表示形式获取;
String str=“包名加类名”;
Class sc=Class.forname(str);