- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 Java类型信息
一、RTTI大白话:本来只能在编译期做有关类型的操作,有了RTTI(runtime type information),在运行时也可以做了。RTTI的最终目的:在运行时识别一个对象的类型。我们有两种方式可以在运行时识别对象和类型信息传统RTTI,即在编译时已经知道了类型基于反射的RTTI先看1 , 2的话看下一节一个很简单的继承(其实是模板设计模式),对于shapes来说:放入Ci...
2018-09-19 23:27:59 179
原创 注解
一、注解常识1.1 注解是什么?注解(Annotation。。注意:Annotation本身在JDK中就是一个Interface ),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。简单来说注解其实就是代码中的特殊标记,这些标记可以在编...
2018-09-17 23:51:14 134
原创 Java 枚举
一、enum基本特性先来个DEMO:public enum Fruit { APPLE, PEAR, PEACH;}class EnumTest{ public static void main(String[] args) { /*values()*/ Arrays.stream(Fruit.values()).forEach(e -> { ...
2018-09-13 00:21:34 909
原创 泛型边界_3 逆变(Contravariance)
一、超类型通配符(supertype wildcards)可声明通配符是某特定类的任何父类界定,如< ? super MyClass>,或者< ? super T> ,不过不存在< T super MyClass>,这样可以安全地传递一个类型对象到泛型类型中。有了superType wildcards ,就可以向Collection写入了。public ...
2018-09-02 17:11:21 143
原创 泛型边界_2 编译器有点蠢
首先来看ArrayList 的几个API的定义:public boolean add(E e)public int indexOf(Object o)public boolean contains(Object o)显然:indexOf 、contains的入参是Object, 而add的入参是泛型类型的参数。再看一段demo:public class Compiler...
2018-09-01 23:51:01 1990
原创 泛型边界_2 通配符
一、数组协变类型先看一个数组的独特的行为,能够向子类型的数组赋予父类型的引用。public class CovariantArrays { public static void main(String[] args) { Fruit[] fruit = new Apple[10]; fruit[0] = new Apple(); fruit[...
2018-09-01 18:57:37 234
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人