A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 芦曦 中级黑马   /  2012-9-26 18:50  /  1623 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String str = new String(new StringBuffer("abc"));
String str = (String)constructor.newInstance(new StringBuffer("abc"));
用普通的方法创建实例对象和用反射的方式创建实例对象有什么区别吗????

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

3 个回复

倒序浏览

首先您要明白,反射和实例化对象时两个不同的概念。

1)反射的出现降低了程序的耦合性。通俗的数就是在写代码代码的时候,我不用关心对象的具体类型是什么,我只要知道对象有这样或那样的属性和方法就可调用对象。

2)实例化对象就是生成的对象。就是向大家明确,我要使用它。

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
估计楼主还是不太理解反射的作用
不讲太多道理,首先说说为什么会出现反射,java的思想是面向对象,可谓:万物皆对象,那么,任意一个java类都有成员,对于java这种具有严谨的语言,肯定要将java类的成员封装成类了,而这个具有任何java类(比如person类,demo类……)的共有特性就让反射出现了,所以说反射就是将java类的成员封装成的类
那么他和普通的区别在哪儿呢?
普通的只能得到一个,而反射可以得到多个
比如String str = new String()只是一个实例对象,
而String str = (String)constructor.newInstance(new StringBuffer("abc"));你是通过反射得到的构造函数,一个类的构造函数可以有多个吧,然后你再指定其中的一个比如说Buffer.class类型的,那么才得到一个具体的实例对象,
想想为什么会出现类(person,demo),反射也是其中的一员哦,想想类出现的作用,那就是反射出现的作用,
回复 使用道具 举报
每个类中都有成员吧,比如说构造函数,比如说一般函数,比如说成员变量,而且一般还都不止一个。反射一般是用来干啥那?就是用一个反射类用来封装这些个成员的共有属性的。那反射一般用于干啥那?或者说什么时候用反射那?就是在你不知道你要new的那个对象所在的类名的时候,我不管你是啥类名,我知道你会有哪些种成员变量就行。反射的应用一般用于框架的编写,因为是先有框架的,而这时候不知道程序员要定义什么样的类名,所以这时就需要用到反射了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马