Logo

郎哥编程

访问类的基础信息

2020-01-03 208

使用Class对象可以直接访问类的基础信息,这些基础信息包括类名称、类所在的包名、类的哈希码。

Class类访问类基础信息的方法说明如下:

●   String  getName()

该方法用于返回类的名称,类的名称也包含包的路径。返回类型为字符串。

●   Package  getPackage()

该方法用于返回类所在的包,返回类型为Package类型。

●   int  hashCode()

该方法返回调用对象的哈希码,hashCode()方法是父类Object的方法。

案例1:建立ClassBasicInfo测试类,实例化Book类,输出Book类的基础信息。

在PCoreUnit8项目新建info包,在info包下新建ClassBasicInfo类。代码如下:

package info;
 
import reflex.Book;
 
/** 
* @ClassName: ClassBasicInfo 
* @Description: 反射(访问类的基础信息)案例1
* @author 编程训练营 
* @date 
* 
*/
 
public class ClassBasicInfo {
   
    /** 
    * @Title: main 
    * @Description: Java程序入口main方法
    * @param @param args    参数 
   
    * @return void    返回类型 
    * @throws 
    */
 
    public static void main(String[] args) {
      
       // 实例化Book类
       Book  book = new Book();
       // 获取book的class对象
       Class  bookClass = book.getClass();
       // 输出类的名称
       System.out.printf("book对象的类名:%s\n",bookClass.getName());
       // 输出类所在包的名称
       Package pack = bookClass.getPackage();
       System.out.printf("Book类所在的包名:%s\n",pack.getName());
       // 输出Class对象的哈希码
       System.out.printf("Book类Class对象的哈希码为:%s\n",bookClass.hashCode());
       // 输出book对象的哈希码
       System.out.printf("book对象的哈希码为:%s\n",book.hashCode());
      
    }
}

ClassBasicInfo程序首先实例化Book类,然后调用getClass()方法获取Book类的Class对象,分别输出book对象的类名、Book类所在的包名、Book类静态变量Class对象的哈希码、book对象的哈希码。

程序执行结果如下图所示:                                          

image.png

代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论