廖雪峰Java4反射与泛型-3泛型-7泛型和反射
摘要:1.部分反射API是泛型 1.1获取反射API的泛型 1.2获取Constructor的泛型 2.泛型数组 可以声明带泛型的数组,但不能用new创建带泛型的数组: 必须通过强制转型实现带泛型的数组: 使用泛型数组要特别小心 2.1不安全的使用泛型数组 2.2安全的使用泛型数组 2.3带泛型的数组实际
阅读全文
posted @
2019-02-24 15:50
singleSpace
阅读(314)
推荐(0)
廖雪峰Java4反射与泛型-3范型-6super通配符
摘要:1.super通配符 1.1super通配符第一种用法 泛型的继承关系 1.2super通配符的第二种用法 2.extends和super的区别 Pair.java Main.java 4.总结:
阅读全文
posted @
2019-02-24 15:49
singleSpace
阅读(249)
推荐(0)
廖雪峰Java4反射与泛型-3范型-5extends通配符
摘要:1.泛型的继承关系: Pair.java 2.extends通配符 2.1extends通配符的第一种用法 2.2extends通配符的第二种用法 3.总结: 使用类似通配符作为方法参数时表示: 方法内部可以调用获取Number引用的方法: n = obj.getXXX() 方法内部无法调用传入Nu
阅读全文
posted @
2019-02-24 15:48
singleSpace
阅读(471)
推荐(0)
廖雪峰Java4反射与泛型-3范型-4擦拭法
摘要:1.擦拭法是Java泛型的实现方式。 编译器把类型视为Object。 泛型代码编译的时候,编译器实际上把所有的泛型类型T统一视为Object类型。换句话说,虚拟机对泛型一无所知,所有的工作都是编译器做的。 编译器根据实现安全的强制转型。 Java的范型实际是有Java在编译时进行的。编译器内容永远把
阅读全文
posted @
2019-02-24 15:47
singleSpace
阅读(439)
推荐(0)
廖雪峰Java4反射与泛型-3范型-3编写泛型
摘要:编写泛型类比普通的类要麻烦,而且很少编写泛型类。 1.编写一个泛型类: 按照某种类型(例如String)编写类 标记所有的特定类型例如String 把特定类型替换为T,并申明 Pair.java Main.java 2.泛型类包含静态方法 注意: 泛型类型不能用于静态方法: 编译错误 编译器无法在静
阅读全文
posted @
2019-02-24 15:32
singleSpace
阅读(297)
推荐(0)
廖雪峰Java4反射与范型-3范型-1什么是泛型
摘要:1.为什么需要泛型? JDK提供了ArrayList,可以看作“可变长度”的数组: 比数组使用方便 示例1:如果使用ArrayList存储String类型: 需要强制转型 不方便,易出错 示例2: 为了解决示例1中的问题,为String单独编写一种ArrayList: 不需要强制转型 编译器强制检查
阅读全文
posted @
2019-02-24 15:22
singleSpace
阅读(278)
推荐(0)
廖雪峰Java4反射与泛型-2注解-3处理注解
摘要:1.处理注解 注解本身对对代码逻辑没有任何影响 SOURCE类型的注解在编译期就被丢掉了 CLASS类型的注解仅保存在class文件中 RUNTIME类型的注解在运行期可以被读取 如何使用注解由工具决定 因此如何处理注解只针对RUNTIME类型的注解 如何读取RUNTIME类型的注解 思路: Ann
阅读全文
posted @
2019-02-19 20:08
singleSpace
阅读(269)
推荐(0)
廖雪峰Java4反射与泛型-2注解-2定义注解
摘要:1.定义注解 使用@interface定义注解Annotation 注解的参数类似无参数方法 可以设定一个默认值(推荐) 把最常用的参数命名为value(推荐) 2.元注解 2.1Target使用方式 使用@Target定义Annotation可以被应用于源码的那些位置 类或接口:ElementTy
阅读全文
posted @
2019-02-19 19:57
singleSpace
阅读(180)
推荐(0)
廖雪峰Java4反射与泛型-2注解-1使用注解
摘要:1.Annotation定义 注解是放在Java源码的类、方法、字段、参数前的一种标签。如下 2.注解的作用: 注解本身对代码逻辑没有任何影响 如何使用注解由工具(如编译器)决定。写了注解,编译器会帮我们检查问题。否则不会检查。 3.使用注意事项 3.1编译器可以使用的注解: @Override:
阅读全文
posted @
2019-02-19 19:56
singleSpace
阅读(323)
推荐(0)
廖雪峰Java4反射与泛型-1反射-4调用构造方法
摘要:1.Class.newInstance()只能调用public的无参数构造方法 2.调用带参数的Constructor Constructor对象包含一个构造方法的所有信息,可以用它来创建一个实例。 如Integer有2个构造方法,1个传入数字,1个传入字符串 Main.java 3.通过Class
阅读全文
posted @
2019-02-01 15:02
singleSpace
阅读(535)
推荐(0)
廖雪峰Java4反射与泛型-1反射-2访问字段Field和3调用方法Method
摘要:2.字段Field 2.1.通过Class实例获取字段field信息: getField(name): 获取某个public的field,包括父类 getDeclaredField(name): 获取当前类的某个field,不包括父类 getFields(): 获取所有public的field,包括
阅读全文
posted @
2019-02-01 14:59
singleSpace
阅读(671)
推荐(0)
廖雪峰Java4反射与泛型-1反射-1Class类
摘要:1.Class类与反射定义 Class类本身是一种数据类型(Type),class/interface的数据类型是Class,JVM为每个加载的class创建了唯一的Class实例。 Class实例包含该class的所有信息,通过Class实例获取class的信息的方法称为反射(Reflection
阅读全文
posted @
2019-02-01 14:58
singleSpace
阅读(404)
推荐(0)