Java反射Class类的使用
2016-08-29 16:25
288 查看
1.几个基本的概念
1.1.在面向对象的世界里万事万物皆对象,但是普通数据类型、和static东西(属于类的)。
1.2.类是对象,是java.lang.Class的实例对象
1.2.1.我们创建一个类的实例对象可以通过new关键字创建比如:User user = new User();
1.2.2.创建Class类的实例化对象:通过源码可以看见他的构造方法时private的,注释上写明只能通过JVM创建。
1.2.3.任何一个类都是Class的实例对象,这个实例对象有三种表示方式
1)第一种:Class c1 = User.class;(表明:任何一个类都一个隐含的静态成员变量)。
2)第二种:Class c2 = user.getClass();(已知该类的对象通过getClass方法)。
注明:c1、c2表明了User类的类类型。即万事万物皆对象,类也是对象,是Class的实例对象,这个对象我们称之为该类的类类型。c1=c2一个类只可能是Class类的一个实例对象。
3)第三种:
try{
c3 = Class.forName(“business.User”);
}catch(ClassNotFoundExpcetion e){
e.printStackTrace();
}
总结:我们完全可以通过类的类类型创建该类的实例对象,即通过c1、c2、c3创建User类的实例对象:User user = (User)c1.newInstance()(需要无参数的构造方法)。
1.1.在面向对象的世界里万事万物皆对象,但是普通数据类型、和static东西(属于类的)。
1.2.类是对象,是java.lang.Class的实例对象
1.2.1.我们创建一个类的实例对象可以通过new关键字创建比如:User user = new User();
1.2.2.创建Class类的实例化对象:通过源码可以看见他的构造方法时private的,注释上写明只能通过JVM创建。
1.2.3.任何一个类都是Class的实例对象,这个实例对象有三种表示方式
1)第一种:Class c1 = User.class;(表明:任何一个类都一个隐含的静态成员变量)。
2)第二种:Class c2 = user.getClass();(已知该类的对象通过getClass方法)。
注明:c1、c2表明了User类的类类型。即万事万物皆对象,类也是对象,是Class的实例对象,这个对象我们称之为该类的类类型。c1=c2一个类只可能是Class类的一个实例对象。
3)第三种:
try{
c3 = Class.forName(“business.User”);
}catch(ClassNotFoundExpcetion e){
e.printStackTrace();
}
总结:我们完全可以通过类的类类型创建该类的实例对象,即通过c1、c2、c3创建User类的实例对象:User user = (User)c1.newInstance()(需要无参数的构造方法)。
相关文章推荐
- 黑马程序员——【Java反射学习】Class类的使用
- Java反射(一)-Class类的使用
- Java反射学习总结(1)——Class类的使用
- 19、Java入门—反射之Class类的使用
- java反射学习笔记(1)-----Class类的使用
- 使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法
- JAVA学习之反射(1):Class类和java.lang.reflect包的使用
- JAVA 反射 之 class类的使用
- Java反射(一)----- Class类的使用
- 使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法
- java基础之反射(2.class类的使用)
- Java-反射(一) Class类的使用
- 使用Java5特性来简化反射编程
- 使用JAVA的反射机制反射带有数组参数的私有方法
- JAVA反射使用手记
- JAVA反射和CLASS类
- 使用JAVA的反射机制反射带有数组参数的私有方法
- JAVA反射使用手记
- JAVA反射使用手记
- java中Class类的使用