【类反射】反射示例(模拟Instanceof的功能)
来源:互联网 发布:德军总部剧情知乎 编辑:程序博客网 时间:2024/06/05 06:11
需求:
通常我们会判断两个对象是否属于同一个类,可以由某个对象.instance(另一个对象)进行比较。此时如何模拟出这种功能呢?
思路:
(1)此方法有两个参数,返回值类型为boolean类型。(2)第一个参数可以确定为当前对象,第二个参数如何确定? (3)因为我们做的是工具类,需要通用性强,在以后使用的时候传入任何对象都可以比较,但是不确定传入的是哪个类的对象! (4)不确定是哪个类如何确定其对象? (5)这里我们可以让使用者传入其类全名,通过类反射得到其对象,就可以直接使用了。
MyInstanceof工具:
private static boolean myInstanceof(Object obj, String name) { try { Class clazz = Class.forName(name); boolean boo=clazz.isInstance(obj);//判断对象obj是否是模板clazz刻出来的 return boo; } catch (ClassNotFoundException e) { e.printStackTrace(); } return false; }
测试类:
package cn.hncu.reflect.test;/** * 模拟Instanceof,判断某两个实例是否相等 * *@author <a"283505495@qq.com">lxd</a> *@version 1.0 2017-4-15 下午2:28:24 *@fileName MySimulateInstanceof.java */public class MySimulateInstanceof { public static void main(String[] args) { //1、测试Instanceof A a=new A(); //正常的方式判断是否相等 if(a instanceof A){ System.out.println("true"); }else{ System.out.println("false"); } //自己写的工具测试 if(myInstanceof(a,"cn.hncu.reflect.test.hello.A")){ System.out.println("yes"); }else{ System.out.println("no"); } }//用到的A类class A{ int x=5;}
运行结果:
0 0
- 【类反射】反射示例(模拟Instanceof的功能)
- 类反射 模拟Java内省的功能
- 【类反射】(模拟Java内省的功能)
- 利用类反射模拟内省功能
- 反射的简单示例
- 反射 示例
- 反射示例
- 反射示例
- 使用反射模拟struts2属性注入功能
- .NET反射的简单示例
- .NET反射的简单示例
- .NET反射的简单示例
- NET反射的简单示例
- 关于反射的简单示例
- Java 反射的简单示例
- java的反射机制--示例
- Android中类的反射的两个应用示例
- 反射:Class类、反射概念、类中各成员的反射、反射的应用、数组的反射、框架
- ubuntu下libusb安装与测试
- dojo初解和dojo.connect用法(转)
- android 视屏手势 VideoGestureView
- 查看网络流量
- AFNetworking(v3.0+)框架学习总结(二内部逻辑处理过程)
- 【类反射】反射示例(模拟Instanceof的功能)
- Linux系统下配置Java环境
- Android .9图片
- Oracle 触发器更新本表数据
- Android Loader 异步加载详解一:基础概念
- Linux环境下配置虚拟主机域名
- iOS开发-UIWindow的用法-创建悬浮按钮
- 快速阅读——套路
- 数据结构之并查集