Java反射机制的一些问题
2014-08-27 10:24
176 查看
SSH框架采用的技术:xml配置文件+反射技术。
反射主要是解决动态编程的问题,所有的对象都是动态生成的,调用的方法也是动态的,反射可以简化开发,但是代码的可读性很低。--反射有关的类包为java.lang.reflect.*和java.lang.Class
获得Class对象方法包括:
a.每一个对象.getClass(),可以得到对应的Class
b.Class.forName(String) 其中String的写法:为包名.类名--就会创建对应的那个对象
上面两种只适用于引用类型
c.针对基本类型:封装类.TYPE代表了对应的基本类型的Class对象 例Integer.TYPE对应的是int的Class对象
d.类型.Class是通用的
以上的4种方法,只有方法b是动态的,只要换一个包就可以了,具有动态的潜质,所以真正意义的想体现动态编程只能使用方法2
//对与引用类型
Class c1 = "".getClass();
Class c2 = Class.forName("java.lang.String");
Class c3 = String.class;
System.out.println(c1 ==c2);//true
//对于基本类型
Class num1 = Integer.TYPE;
Class num2 = int.class;
System.out.println(num1 == num2);//true
反射主要是解决动态编程的问题,所有的对象都是动态生成的,调用的方法也是动态的,反射可以简化开发,但是代码的可读性很低。--反射有关的类包为java.lang.reflect.*和java.lang.Class
获得Class对象方法包括:
a.每一个对象.getClass(),可以得到对应的Class
b.Class.forName(String) 其中String的写法:为包名.类名--就会创建对应的那个对象
上面两种只适用于引用类型
c.针对基本类型:封装类.TYPE代表了对应的基本类型的Class对象 例Integer.TYPE对应的是int的Class对象
d.类型.Class是通用的
以上的4种方法,只有方法b是动态的,只要换一个包就可以了,具有动态的潜质,所以真正意义的想体现动态编程只能使用方法2
//对与引用类型
Class c1 = "".getClass();
Class c2 = Class.forName("java.lang.String");
Class c3 = String.class;
System.out.println(c1 ==c2);//true
//对于基本类型
Class num1 = Integer.TYPE;
Class num2 = int.class;
System.out.println(num1 == num2);//true
相关文章推荐
- SOS!!!关于游戏汉化项目中遇到一些不能解决的问题。。。。。
- moto手机开发的一些问题汇总(一)
- 面试时要注意的一些问题
- C语言程序设计的一些基本问题
- ACCESS常见的一些问题及解决的方法
- 一些关于中文乱码问题的一些解决方案和经验
- VC 和 MFC 的一些常见问题
- 这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享!
- dtd文档的一些问题
- 网友与我关于一些GUI编程问题的对话实录
- Java 编程技术中汉字问题的一些url收藏
- 关于Tapestry的一些问题
- 关于软件地域化(Localization)中的一些问题(zz)
- 解决java中文问题的一些资源
- 使用C++Builder创建自定义VCL组件时的一些问题
- 关于ASPNET在IIS一些问题的经验总结
- PHP 一些小问题~!
- Linux下Java程序中中文显示的一些问题的总结
- 关于SQL SERVER的一些安全问题
- jsp中文编码问题与编码问题的一些资料(转载)