Reflection01_获取Class对象

1、java 代码:

package reflectionZ;

public class TreflectionZ
{
    public static void main(String[] args) throws ClassNotFoundException
    {
        // 得到 Cat的 Class对象
        // 1、通过 forName
        Class<?> clazz1 = Class.forName("reflectionZ.Cat"); // ZC: 会报异常"ClassNotFoundException"
        System.out.println("clazz1 : "+clazz1+" , "+clazz1.hashCode());
        // 2、通过 class属性
        Class<?> clazz2 = Cat.class;
        System.out.println("clazz2 : "+clazz2+" , "+clazz2.hashCode());
        // 3、通过 对象实例.getClass()
        Cat cat = new Cat();
        Class<?> clazz3 = cat.getClass();
        System.out.println("clazz3 : "+clazz3+" , "+clazz3.hashCode());

        System.out.println("*** *** ***");
        if (clazz1 == clazz2)
            System.out.println("clazz1 == clazz2");
        else
            System.out.println("clazz1 != clazz2");
        if (clazz1 == clazz3)
            System.out.println("clazz1 == clazz3");
        else
            System.out.println("clazz1 != clazz3");
        if (clazz2 == clazz3)
            System.out.println("clazz2 == clazz3");
        else
            System.out.println("clazz2 != clazz3");
        // ZC: 上面三个判断 都是相等,可见 java中的对象的比较,比较的是 变量所指向的对象   而非变量本身 ... ! ! !
    }
}

class Cat
{}

2、控制台 输出:

clazz1 : class reflectionZ.Cat , 8152936
clazz2 : class reflectionZ.Cat , 8152936
clazz3 : class reflectionZ.Cat , 8152936
*** *** ***
clazz1 == clazz2
clazz1 == clazz3
clazz2 == clazz3

3、

时间: 2024-11-13 10:13:40

Reflection01_获取Class对象的相关文章

Class类 获取Class对象

阅读API的Class类得知,Class 没有公共构造方法.Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的 获取Class对象的三种方式(实例采用Person类) 方式1:通过Object类的getObject()方法 Person p = new Person(); Class c = p.getClass(); 方式2: 通过 类名.class 获取到字节码文件对象(任意数据类型都具备一个class静态属性,看上去要比第一种方

在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法

今天遇到了一个在servlet的service方法中获取ServletContext对象出现java.lang.NullPointerException(空指针)异常,代码如下: 1 //获取ServletContext对象 2 ServletContext servletContext = this.getServletContext(); 这个问题很奇怪,也是第一次遇到,因为以前在servlet的doGet/doPost方法中要获取ServletContext对象时都是这样写的,也没有出现过

在SpringMVC中获取request对象的几种方式

1.最简单的方式(注解法) 1 2 @Autowired private  HttpServletRequest request; 2.最麻烦的方法 a. 在web.xml中配置一个监听 <listener> <listener-class> org.springframework.web.context.request.RequestContextListener </listener-class> </listener> b.之后在程序里可以用 Http

《Entity Framework 6 Recipes》中文翻译系列 (45) ------ 第八章 POCO之获取原始对象与手工同步对象图和变化跟踪器

翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 8-6  获取原始对象 问题 你正在使用POCO,想从数据库获取原始对象. 解决方案 假设你有如图8-7所示的模型.你正在离线环境下工作,你想应用在获取客户端修改之前,使用Where从句和FirstDefault()方法从数据库中获取原始对象. 图8-7.包含一个单独实体Item的模型 按代码清单8-9的方式,在获取实体之后,使用新值更新实体并将其保存到数据库中. 代码清单8-9. 获取最新

Android获取LayoutInflater对象的方法总结

在写Android程序时,有时候会编写自定义的View,使用Inflater对象来将布局文件解析成一个View.本文主要目的是总结获取LayoutInflater对象的方法. 1.若能获取context对象,可以有以下几种方法: LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View child = inflater.inflate(R.la

MUI点击事件获取当前对象,及当前对象的属性值

//用惯了jquery,开始用mui还是有些不习惯 //直接贴代码吧 <nav class="mui-bar mui-bar-tab"> <a class="mui-tab-item" id="fi"> <img src="img/girl.png" id="callgirl"/> <span class="mui-tab-label">免

Android 通过Uri获取Bitmap对象

1 package classExample.roseBulletEX3; import android.content.Context; import android.graphics.Bitmap; import android.net.Uri; import android.provider.MediaStore; public class ImageUtil { /** * 通过uri获取Bitmap对象 * * @param context * @param uri * @return

获取dom对象(2)

<html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <title>获取dom对象</title> </head> <body> <input name="btn1" type="button" value="myb

获取dom对象(1)

<html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <title>获取dom对象</title> <style> #btn3{ border:1px solid red; } #btn33{ border:1px solid blue; } </style> </