反射基础Class类
来源:互联网 发布:类似字体管家的软件 编辑:程序博客网 时间:2024/05/05 01:04
Class 类的实例表示正在运行的 Java 应用程序中的类和接口。Class是程序中各个java类和接口的统称。
众多的人-->Person,众多的java对象-->Class
每个类被加载后, 系统就会为该类生成一个对应的 Class 对象, 通过该 Class 对象就可以访问到 JVM 中的这个类。
Java 程序中获得Class 对象通常有如下三种方式:
1.使用 Class 的 forName() 静态方法
2.调用某个类的 class 属性 (无须调用方法, 性能更好)
3.调用某个对象的 getClass() 方法
一旦获取了某个类的 Class 对象之后, 程序就可以调用 Class 对象的方法来获得该对象和该类的真实信息了
Class类常见的方法
newInstance() :创建此 Class 对象所表示的类的一个新实例。
isPrimitive() :判定指定的 Class 对象是否表示一个基本类型。
isArray() :判定此 Class 对象是否表示一个数组类。
getPackage() :获取此类的包。
getName() :以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。
getInterfaces() :确定此对象所表示的类或接口实现的接口。
forName(String className) :返回与带有给定字符串名的类或接口相关联的 Class 对象
java中9个预定义的Class实例对象
基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)
和关键字 void 也表示为 Class 对象。
public class Test {
public static void main(String[] args) throws Exception{
/**
* Class代表一份字节码,一个对象是该类字节码产生的一个实例
* 使用new关键字:类的装载,连接,初始化一次性完成了。
* 使用Class.forName:默认的情况下是类装载、链接和初始化的,
* 相当于Class.forName(className, true, currentLoader)(其中的true和false是管是否初始化的)。
* 如果是true的,那么装载、连接、并初始化;如果false,仅仅装载和连接。
*/
String s = "";
Class cls1 = s.getClass();//方式1
Class cls2 = String.class;//方式2
Class cls3 = Class.forName("java.lang.String");//方式3
System.out.println(cls1==cls2);//true
System.out.println(cls2==cls3);//true
System.out.println(cls1.isPrimitive());//false
System.out.println(int.class.isPrimitive());//true
System.out.println(int.class==Integer.class);//false
System.out.println(Integer.TYPE==int.class);//true
System.out.println(int[].class.isPrimitive());//false
System.out.println(int[].class.isArray());//true
}
}
- 反射基础Class类
- 基础加强-Class类 反射
- (Java基础--反射)透彻分析反射的基础--Class类
- 黑马程序员-反射的基础Class类
- Java(反射的基础Class类)
- 透彻分析反射的基础---class类
- Java,Class类,类装载,反射等基础学习笔记
- 黑马程序员-java学习笔记-反射基础类Class
- java基础之反射(1.认识class类)
- java基础之反射(2.class类的使用)
- Java反射机制的基础java.lang.Class类
- Java反射基础(二)— Class类
- Java反射的基础——Class类
- 反射:Class类Class实例
- Class类和反射
- 反射与Class类
- Class类(反射技术)
- class类 反射
- sqlite3.7.3移植到arm问题
- MYSQL的常用存储引擎MyISAM和InnoDB的区别
- 去实习
- XP HOME使用组策略、本地用户和组、安全策略
- S3C2440定时器的使用
- 反射基础Class类
- 编译qt-4.4-准备
- Dependency Injection
- 编译qt-4.4-编译器和库
- .net下封转的FTP类,实现局域网内大文件批量传输Part1
- 一个女人结婚七年间的惊人改变,看完这个,我觉得结婚神马的全是浮云,浮云......
- 2010-2011赛季 西班牙国家德比 巴塞罗那VS皇家马德里 总结贴
- 业务求1
- 最近重拾了OpenGL