2019年2月24日
摘要:
1.擦拭法是Java泛型的实现方式。 编译器把类型视为Object。 泛型代码编译的时候,编译器实际上把所有的泛型类型T统一视为Object类型。换句话说,虚拟机对泛型一无所知,所有的工作都是编译器做的。 编译器根据实现安全的强制转型。 Java的范型实际是有Java在编译时进行的。编译器内容永远把
阅读全文
posted @ 2019-02-24 15:47
singleSpace
阅读(437)
推荐(0)
摘要:
编写泛型类比普通的类要麻烦,而且很少编写泛型类。 1.编写一个泛型类: 按照某种类型(例如String)编写类 标记所有的特定类型例如String 把特定类型替换为T,并申明 Pair.java Main.java 2.泛型类包含静态方法 注意: 泛型类型不能用于静态方法: 编译错误 编译器无法在静
阅读全文
posted @ 2019-02-24 15:32
singleSpace
阅读(296)
推荐(0)
摘要:
1.为什么需要泛型? JDK提供了ArrayList,可以看作“可变长度”的数组: 比数组使用方便 示例1:如果使用ArrayList存储String类型: 需要强制转型 不方便,易出错 示例2: 为了解决示例1中的问题,为String单独编写一种ArrayList: 不需要强制转型 编译器强制检查
阅读全文
posted @ 2019-02-24 15:22
singleSpace
阅读(276)
推荐(0)
2019年2月19日
摘要:
1.处理注解 注解本身对对代码逻辑没有任何影响 SOURCE类型的注解在编译期就被丢掉了 CLASS类型的注解仅保存在class文件中 RUNTIME类型的注解在运行期可以被读取 如何使用注解由工具决定 因此如何处理注解只针对RUNTIME类型的注解 如何读取RUNTIME类型的注解 思路: Ann
阅读全文
posted @ 2019-02-19 20:08
singleSpace
阅读(267)
推荐(0)
摘要:
1.定义注解 使用@interface定义注解Annotation 注解的参数类似无参数方法 可以设定一个默认值(推荐) 把最常用的参数命名为value(推荐) 2.元注解 2.1Target使用方式 使用@Target定义Annotation可以被应用于源码的那些位置 类或接口:ElementTy
阅读全文
posted @ 2019-02-19 19:57
singleSpace
阅读(177)
推荐(0)
摘要:
1.Annotation定义 注解是放在Java源码的类、方法、字段、参数前的一种标签。如下 2.注解的作用: 注解本身对代码逻辑没有任何影响 如何使用注解由工具(如编译器)决定。写了注解,编译器会帮我们检查问题。否则不会检查。 3.使用注意事项 3.1编译器可以使用的注解: @Override:
阅读全文
posted @ 2019-02-19 19:56
singleSpace
阅读(317)
推荐(0)
2019年2月1日
摘要:
1.Class.newInstance()只能调用public的无参数构造方法 2.调用带参数的Constructor Constructor对象包含一个构造方法的所有信息,可以用它来创建一个实例。 如Integer有2个构造方法,1个传入数字,1个传入字符串 Main.java 3.通过Class
阅读全文
posted @ 2019-02-01 15:02
singleSpace
阅读(533)
推荐(0)
posted @ 2019-02-01 15:02
singleSpace
阅读(233)
推荐(0)
摘要:
2.字段Field 2.1.通过Class实例获取字段field信息: getField(name): 获取某个public的field,包括父类 getDeclaredField(name): 获取当前类的某个field,不包括父类 getFields(): 获取所有public的field,包括
阅读全文
posted @ 2019-02-01 14:59
singleSpace
阅读(666)
推荐(0)
posted @ 2019-02-01 14:59
singleSpace
阅读(181)
推荐(0)