JDK1.5的新特性 03
来源:互联网 发布:手机无法安装软件 编辑:程序博客网 时间:2024/06/03 20:32
摘要:
1,编程等级:面向对象,面向接口,面向框架
2,Class为Reflect奠定基础,而Reflect为框架奠定基础:反射的作用——实现框架功能
3,如何加载class文件?
A.路径:配置文件
B.工具:类加载器
a.默认加载方式:
b.自定义加载器:
4,反射应用——内省:java.beans.Introspector
5,属性管理set/get: javabean java.beans.Beans
A.书写格式
B.直接操作工具:java.beans.PropertyDescriptor
a.public Method getWriteMethod()
b.public void setWriteMethod(Method writeMethod) throws IntrospectionException
C.间接操作工具:public interface BeanInfo
a.PropertyDescriptor[] getPropertyDescriptors()
b.for(PropertyDescriptor : PropertyDescriptors[])
D.BeanUtils工具包:commons-beanutils.jar
6,重要新特性:注解 public interface Annotation
实现类:
A.压制警告:public @interface SuppressWarnings
B.方法过时:public @interface Deprecated
C.复写方法:public @interface Override
笔记:
27,框架的概念及用反射技术开发框架的原理
反射的应用---开发框架
需求:能否在半成品的基础上开发产品?效率高!
思路:配置文件,键值对,键是固定的,值是可变的; ----> 属性集合
Properties
28,用类加载器的方式管理资源和配置文件
需求:能否对路径进行智能化管理?
InputStream ips = new FileInputStream("config.properties");
javaweb.getRealPath
29,IntroSpector--->JavaBean-->特殊的Java类
class Person{//就是一个JavaBean类
private int x;
public int getAge(){
return x;
}
public void setAge(int age){
this.x = age;
}
}
//JavaBean 的属性,首字母大小写与第二个字母大小写一致;
gettime() time
setTime() time
getCPU() CPU
30,对JavaBean的简单内省操作
需求:更简单地操作get/set方法。
技术:属性描述对象。java.beans.PropertyDescriptor
基础:反射,Class类与Method类
31,对JavaBean的复杂内省操作(早期的做法,不是最棒的方法,但也是有效的方法。)
需求:已知对象,和对象的属性名,当不知道对象属性的读取方法名和设置方法名,如何简单读取和设置属性??
思路:无法直接调用对象的成员方法进行属性读取和设置,那就通过JavaBean智能反射读取和设置方法,完成读取和设置。
技术:java.Beans.PropertyDescriptor getReadMethod(<?>), getWriteMethod(<?>);
技巧:重构抽取方法,把代码进一步封装,简单化;
32,BeanUtill
Map集合之间的转换
思想:学新技术的意义,新技术是老技术的补充和优化。java7的新特性
PropertyUtill
反射:
字节码类--成员变量类
--成员方法类
--成员方法类
--修饰符类
面向对象:
通过类名字符串,静态建立字节码对象
字节码对象,可以获取成员变量对象
成员变量对象可以获取:变量名,数据类型,数值,哈希值;
可以获取成员方法对象
成员方法对象可以获取:方法名,返回值类型,方法注解,哈希;
可以获取构造方法对象
构造方法对象可以建立获取判断:建立新实例,构造方法名,构造方法描述,
参数是否可变,是否同步函数;
思路:在开发中,面向对象,找对象,事情与谁相关就找谁去完成。
拿到对象有两种方法:静态获取;
new建立;
33, 注解是JDK1.5的新特性,最重要的新特性,比枚举还重要,因为基于注解开发,是必须的。
每个注解都是一个类的对象。
过时注解:@Deprecated 弃用
覆盖注解:@Override
禁止警告:@SuppressWarnings
注解是类的成分,也可以通过反射获取。
34,注解的定义与反射调用
注解、枚举都是特殊的类
元注解,元,元素;注解中的注解;
元数据,数据的数据
元信息,信息的信息
注解的三个生命周期:.java .class 内存中字节码
Type:Class
Interface
Enume
@XXX
35,为注释增加各种属性
需求:为注释增加更为丰富的属性,一边适应多元化的操作需求。
需求决定程序设计
学习学的是思考力和理解力;
思考力:我怎么解决这个新问题?
理解力:他为什么这样解决问题?
- JDK1.5的新特性 03
- JDK1.5-JDK1.8的新特性
- jdk1.5的新特性
- JDK1.5的新特性
- JDK1.5的新特性
- JDK1.5的新特性
- JDK1.5的新特性
- jdk1.5的新特性
- JDK1.5的新特性
- JDK1.5的新特性
- JDK1.5的新特性
- jdk1.5的新特性
- jdk1.5的新特性
- jdk1.5的新特性
- JDK1.5的新特性
- JDK1.5的新特性
- JDK1.5,JDK1.6,JDK1.7 各自的新特性
- JDK1.5 新特性
- solr faceted search
- 设计模式之静态代理
- 快速和选择排序程序示例
- ZOJ Monthly, August 2012
- 翻转句子中单词的顺序[算法]
- JDK1.5的新特性 03
- 进程各个不同数据段的位置
- 求1+2+...+n[C/C++/C#]
- 链表中倒数第k个结点
- JDK1.5的新特性 04
- wangzhi
- JS中的类
- 求二元查找树的镜像
- Linux mint 13 ---- Dictionary 配置