Java--Reflect(反射)专题1——class 类的使用
来源:互联网 发布:js拼接html代码 编辑:程序博客网 时间:2024/05/22 14:19
转载请注明:http://blog.csdn.net/uniquewonderq
1.class类
1.1在面向对象的世界中,万事万物皆对象
但是在java语言中,静态的成员,普通的数据类型(8种)。
那么类是谁的对象呢?
类是对象,类是java.lang.Class类的实例对象。
例如自己写一个student类,就是Class类的对象。
1.2这个对象到底如何表示?
举例说明。
package com.test;public class test {public static void main(String[] args) { //foo的实例对象如何表示呢? foo foo1=new foo();//foo1就表示出来了 //foo这个类,也是一个实例对象,Class类的实例对象,如何表示呢? //这时候就不能new出来了,只有通过jvm来创建,因为其构造方法是私有的 //任何一个类都是Class类的实例对象,这个实例对象有三种表示方式 //第一种表达方式实际在告诉我们任何一个类都有一个隐含的静态成员class Class c1=foo.class; //第一种表示方式 //第二种表达方式,已知该类的对象,通过getclass方法 Class c2=foo1.getClass(); //官网指出,C1,C2表示了foo类的类类型,(Class type) //不管还是C1还是C2都代表了foo类的类类型,一个类只可能是Class类的一个实例对象 System.out.println(c1==c2);//结果输出为ture //第三种 表达方式 Class c3=null; try { c3=Class.forName("com.test.foo"); } catch (ClassNotFoundException e) { e.printStackTrace(); } //不管几种表达方式,都代表了这个类的类类型 System.out.println(c2==c3);//结果输出为true try { //我们完全可以通过类的类类型创建该类的对象实例, //也就是说,可以通过C1 OR C2 OR C3 创建foo的实例对象 foo f=(foo)c1.newInstance();//创建出了foo 类的对象,需要强制类型转换, //上述语句的前提是:foo类需要有无参的构造方法 f.print(); } catch (InstantiationException ex) { ex.printStackTrace(); } catch (IllegalAccessException ex) { ex.printStackTrace(); } }}class foo{ void print(){ System.out.println("foo"); }}
输出结果:
true
true
foo
0 0
- Java--Reflect(反射)专题1——class 类的使用
- JAVA学习之反射(1):Class类和java.lang.reflect包的使用
- Java--Reflect(反射)专题3——获取类的方法的所有信息
- Java--Reflect(反射)专题5——方法反射的基本操作
- Java--Reflect(反射)专题6——通过反射了解集合泛型的本质
- Java--Reflect(反射)专题2——动态加载类
- 黑马程序员——Class类、反射(Reflect)
- Java的反射reflect使用
- Java--Reflect(反射)专题4——获取成员变量以及构造函数信息
- 黑马程序员----Class类、反射(Reflect)
- JAVA——反射(Reflect)
- java 反射(Reflect)1
- java的反射(java.lang.Class 、java.lang.reflect )
- 【反射】Reflect的使用
- Java反射学习总结(1)——Class类的使用
- JAVA反射机制——Class 类的使用
- 19、Java入门—反射之Class类的使用
- java反射学习笔记(1)-----Class类的使用
- 黑马程序员——JAVA笔记——Date和Calendar的用法
- Looksery Cup 2015 H. Degenerate Matrix
- centOS7忘记密码
- 补全开发大会上缺失的Apple和Google应用商店数据和比拼结果
- 信息分类-区域数据表
- Java--Reflect(反射)专题1——class 类的使用
- linux 服务器配置 matconvnet
- 也谈如何构建高性能服务端程序
- 黑马程序员——基础知识总结_IO流1
- 全栈工程师?给把瑞士军刀你去砍鬼子好不好!?
- 【java】itoo项目实战之java Web 中web的作用
- Struts2(五)自定义拦截器
- 信息分类-热点商区数据表
- 罗马数字转换为int