一. Class类
1. Class对象描述了运行中的classes和interfaces。通过Class对象可以取得运行中的classes和interfaces的相关信息。见例子程序
2. 每个类都有一个相应的java.lang.Class对象。每个类的Class对象存储于编译后的类所在的文件中。所以,当JVM装载一个.class文件时就会装载一个Class对象。所以,一个类只有一个Class对象。
二. 如何获取一个类的Class对象
1. 通过Class.forName(classname)方法,该方法接收一个String参数,用以指定要生成哪个class的Class对象.,如Class.forName(“Dog”)。
2. 通过类字面常量来获得。
1) 字面常量的形式为:classname.class。如Dog.class。
2) 对于基本类,每种基本类型的外覆类都有一个名为TYPE的标准数据,能够产生一个指向相应的基本类型的Class对象的reference。如int.class等同于Integer.TYPE。
3. 通过Object.getClass()方法来获得。
例子程序:
Dog dog = new Dog();
Class dogClass = dog.getClass();
String s = dogClass.getName();//返回Dog类的名字
Package p = dogClass.getPackage();//返回Dog类所在包的名字
分享到:
相关推荐
启动Tomcat时报错:Caused by: java.lang.LinkageError: loader constraints violated when linking javax/el/ExpressionFactory class 说明:原因是juel.jar, juel-engine.jar, juel-impl.jar包和Tomcat6.0中的el-...
在"实战java反射机制-让你迅速认识java强大的反射机制"这个主题中,我们将深入探讨反射的核心概念和实际应用。 1. 反射基础: Java反射机制主要基于`java.lang.Class`类和`java.lang.reflect`包中的接口和类。`...
System.out.println("包装类:java.lang.Byte"); System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE); System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE); // short System.out....
当 PermGen space 不足时,可能会导致 java.lang.OutOfMemoryError: PermGen space。 在实际应用中,服务器通常设置 Xms 和 Xmx 相等,以避免在每次 GC 后调整堆的大小。如果 Xmx 不指定或者指定偏小,应用可能会...
### Java编程基础知识点详解 ...通过以上知识点的学习,初学者可以建立起对Java的基本认识,并逐步掌握Java编程的核心技能。随着实践的深入,将进一步提升编程能力,为后续的技术发展打下坚实的基础。
在IT行业中,XML(eXtensible Markup Language)是一种广泛使用的数据交换格式,它具有结构化、可读性强的...通过上述示例,你应该对XStream的基本操作有了清晰的认识,可以在实际项目中进一步探索其高级特性和功能。
3. 获取类的注解:`Class.getAnnotations()`和`Class.getDeclaredAnnotations()`用于获取类的注解信息。 4. 检查类的属性:`isInterface()`, `isEnum()`, `isAssignableFrom()`, `isInstance()`等方法用于判断类的...
在Java中,反射机制的核心是`java.lang.Class`类,它代表了Java中的每一个类。当Java虚拟机(JVM)加载一个类时,会创建对应的Class对象,这个对象包含了该类的所有信息,包括类名、字段、方法等。 反射的主要作用...
#### 1.2 认识Java语言 Java语言具备以下特点: - **简单性**:Java简化了C++等语言的一些复杂特性。 - **面向对象**:几乎所有的Java程序都是基于类和对象构建的。 - **健壮性**:Java提供了严格的错误检查机制,...
import java.lang.management.ManagementFactory; import com.sun.management.OperatingSystemMXBean; public class HardDriveSerialNumber { public static void main(String[] args) { OperatingSystemMXBean ...
5. **反射创建对象**:演示如何使用`Class.forName()`和`Constructor.newInstance()`创建对象。 6. **反射调用方法和访问字段**:如何通过反射调用方法并传递参数,以及读取和修改字段值。 7. **反射处理数组和集合*...
#### java.lang包 这是最基本的包之一,包含了所有Java程序都会自动导入的类,例如String、Integer等基本数据类型的包装类。 #### java.util包 该包提供了大量的集合框架类,如List、Set、Map等,还有Date和...
(2) 类名是由程序员自己定义的 Java 标识符,每个类说明必须有 class 和类名。 (3) 类说明修饰符包括: abstract 说明一个类为抽象类,抽象类是指不能直接实例化对象的类。 final 说明一个类为最终类,即...
#### 1-2 认识Java语言 - Java语言的特点包括简单性、面向对象、健壮性、安全性、平台无关性、可移植性和高性能。 - **简单性**:简化了C++的复杂特性,易于学习和使用。 - **面向对象**:几乎所有的Java程序都是...
15.1.2 使用class.forname() 502 15.1.3 从class获得信息 503 15.1.4 从class建立对象 506 15.1.5 操作对象方法与成员 509 15.1.6 动态代理 512 15.2 了解类加载器 515 15.2.1 类加载器层级架构 515 ...
加载的类信息存储在方法区,类信息最终会以java.lang.Class对象的形式存在。 b. 验证:验证过程包括格式验证、语义验证、操作验证等步骤,确保class文件符合规范,并且其中的指令不会对虚拟机造成危害。 c. 准备:...
异常类继承自`java.lang.Throwable`,分为Error和Exception两大类。 6. **垃圾回收**:Java的自动内存管理机制,负责回收不再使用的对象所占用的内存。程序员无需手动释放内存,但理解垃圾回收的工作原理对于优化...
我们将学习如何命名变量、方法和类,了解Java中预定义的关键字,如`class`、`public`、`static`等,以及各种数据类型,包括基本类型(如`int`、`double`)和引用类型(如`String`)。通过掌握这些基础知识,学员可以...
这可能涉及到嵌入Java对象,如`java.lang.reflect.Method`或`java.lang.Class`,以触发不安全的反射操作。 5. **测试与调试**:运行你的代码,观察是否能成功触发漏洞。如果出现问题,可以查看`Yaml反序列化.assets...