黑马程序员—javaSE—反射和新特性
2015-12-03 23:00
429 查看
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
1、类的加载概述和加载时机
2、类加载器的概述和分类
3、反射概述
4、Class.forName()读取配置文件举例
5、通过反射获取带参构造方法并使用
// 获取字节码文件对象
Class.forName(String classPath)
6、通过反射获取成员变量并使用
7、通过反射获取方法并使用 – Method
8、通过反射越过泛型检查
9、设置某个对象的某个属性为指定的值
10、反射练习
11、动态代理的概述和实现
12、模版(Template)设计模式概述和使用
创建型:
工厂模式
简单工厂模式
工厂方法模式
单例模式
饿汉式
懒汉式 – 延迟加载,多线程数据安全问题
13、JDK5新特性(自己实现枚举类)
14、通过enum实现枚举类
15、枚举的注意事项
16、枚举类的常见方法
int ordinal() – 枚举项的索引
int compareTo(Object obj) – 比较枚举项的顺序
String name() – 枚举项的名称
String toString() – 默认返回枚举项的名称,可以重写
Object[] values() – 返回所有枚举项
17、JDK7的六个新特性回顾和讲解
18、JDK8的新特性
1、接口中可以定义实现的方法了,但是必须加default修饰。
2、接口中可以定义静态方法了。
3、局部内部类使用方法中的局部变量,现在可以不必手动加final修饰了,JDK会默认加。
1、类的加载概述和加载时机
2、类加载器的概述和分类
3、反射概述
获取字节码文件对象的方式 Class类中的静态方法: static Class<?> forName(String className) -- 全路径类名 数据类型的静态属性 例如: String.class int.class int[].class Object类中提供的getClass() 方法
4、Class.forName()读取配置文件举例
5、通过反射获取带参构造方法并使用
// 获取字节码文件对象
Class.forName(String classPath)
// Class类提供了newInstance()方法,使用无参构造创建一个新对象 // 通过字节码文件对象获取构造器对象 getConstructor(Class... parameterTypes); // 获取公共构造中的一个 getDeclaredConstructor(Class... parameterTypes); // 获取所有中的一个 // 通过构造器对象创建类的实例 Constructor类提供的newInstance(Object... parameters)
6、通过反射获取成员变量并使用
// 获取字节码文件对象 Class.forName(String classPath) // 通过字节码文件对象获取构造器对象 getConstructor(Class... parameterTypes); // 获取公共构造中的一个 getDeclaredConstructor(Class... parameterTypes); // 获取所有中的一个 setAccessible(true); // 通过构造器对象创建类的实例 Constructor类提供的newInstance(Object... parameters) // 通过字节码文件对象获取字段(Field) -- 成员变量、属性、域、字段 getField(String name); // 获取公共字段中的一个 getDeclaredField(String name);// 获取所有字段中的一个 setAccessible(boolean flag); // 暴力访问(取消java语言访问检查) // 使用字段 Field类的方法 set(Object obj, Object value); // 为obj对象的字段赋值为value
7、通过反射获取方法并使用 – Method
// 获取字节码文件对象 Class.forName(String classPath) // 通过字节码文件对象获取构造器对象 getConstructor(Class... parameterTypes); // 获取公共构造中的一个 getDeclaredConstructor(Class... parameterTypes); // 获取所有中的一个 setAccessible(true); // 通过构造器对象创建类的实例 Constructor类提供的newInstance(Object... parameters) // 通过字节码文件对象获取方法 getMethod(String name, Class... parameterTypes) // 获取公共中的一个(包含父类的) getDeclaredMethod(String name, Class... parameterTypes) // 获取所有中的一个(不包含父类的) setAccessible(true); // 通过方法对象执行方法 Method类提供功能 Object invoke(Object obj, Object... objs) // new Class[]{String.class, int.class}
8、通过反射越过泛型检查
9、设置某个对象的某个属性为指定的值
10、反射练习
11、动态代理的概述和实现
12、模版(Template)设计模式概述和使用
创建型:
工厂模式
简单工厂模式
工厂方法模式
单例模式
饿汉式
懒汉式 – 延迟加载,多线程数据安全问题
结构型:对象间的关系 装饰设计模式 行为型:对象能够做什么 模板方法模式
13、JDK5新特性(自己实现枚举类)
14、通过enum实现枚举类
15、枚举的注意事项
16、枚举类的常见方法
int ordinal() – 枚举项的索引
int compareTo(Object obj) – 比较枚举项的顺序
String name() – 枚举项的名称
String toString() – 默认返回枚举项的名称,可以重写
Object[] values() – 返回所有枚举项
17、JDK7的六个新特性回顾和讲解
18、JDK8的新特性
1、接口中可以定义实现的方法了,但是必须加default修饰。
2、接口中可以定义静态方法了。
3、局部内部类使用方法中的局部变量,现在可以不必手动加final修饰了,JDK会默认加。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统