java反射机制总结(一)

原创 2012年03月23日 23:58:18

以下是我看李兴华老师写的java开发实战经典的笔记:

希望会对你有所帮助。

一个核心:一切的的操作都将使用Object 完成,类,数组的引用都可以使用Object进行接收。

什么是反射?简单的说,就是通过对象找到类。那么,我们如何找到类呢,Object类中定义的getClass() 方法可以通过对象来找到所对应的类,它的返回值的类型是一个Class类,实际上此类就是Java反射的源头。Class表示一个类的本身,通过Class可以完整的获得一个类的完整结构。因为在Class类中本身没有定义任何的构造方法,所以如果要使用则首先实例化对象,那么如何实例化对象呢?1,通过Class.forName(String name) 2,类.class 3,对象.getClass()。其中Class.forName(String name) 是我们常用的一种方式。

那么如果想要通过Class类本身实例化其他类的对象,则可以使用newInstance()方法,但是必须保证被实例化的类中存在在一个无参的构造方法(这点一定记住)。

核心代码如下:
c1 = Class.forName("com.runqian.class.Person");

Person p = null;

per = (Person)c1.newInstance();

但是假如一个类中没有无参的构造方法,那么我们应该如何解决上面的问题呢?

(1)在Class中定义的getConstructors()可以取得本类中的全部构造方法,返回的是Constructor对象的数组。

(2)向构造方法中传递一个对象数组进去,里面包含了构造方法中所需的各个参数

(3)之后通过Consturctor实例化对象。

核心代码如下:

c1 = Class.forName("com.runqian.class.Person");

Person per = null;

Consturctor[] con = c1.getConstructors();

per = (Person)con[0].newInstance("许海飞",24);//此时Person类只有一个Person(String name,int age)的构造方法。

第一个参数的类型为String,第二参数的类型为Integer(在使用时可以自动拆箱)。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java反射机制总结

  • 2012-06-08 16:49
  • 567KB
  • 下载

Java反射机制总结.pdf

  • 2015-09-26 14:56
  • 567KB
  • 下载

Java反射机制总结之一

反射机制总结 一、            反射机制的定义-Java不是动态语言,但其有一个非常突出的动态相关机制-反射 在Java运行时环境中,对于任意一个类,能否知道这个类有...

Java反射机制总结

  • 2011-10-10 15:59
  • 567KB
  • 下载

Java反射机制总结

  • 2016-11-16 11:39
  • 567KB
  • 下载

Java反射机制总结

Java反射机制:反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能。 本文...

Java反射机制总结

  • 2012-11-22 12:48
  • 567KB
  • 下载

JAVA反射机制总结

  • 2009-09-09 20:17
  • 567KB
  • 下载

关于Java反射机制的总结

关于Java的反射机制,百度百科上是这样解释的:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动...

java反射机制总结

  • 2011-11-09 21:48
  • 13KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)