JAVA 使用反射获得继承类
来源:互联网 发布:淘宝客服kpi考核内容 编辑:程序博客网 时间:2024/05/20 17:42
JAVA 使用反射获得继承类
一代码完成
首先创建两个类,Parent.class与Children.class,Children类继承Parent类。
package util;/** * Children类 * Created by OovEver on 2017/11/20. */public class Children extends Parent { public static void main(String[] args) { Children children = new Children(); }}
package util;/** * Created by OovEver on 2017/11/20. * Parent类 */public class Parent { protected Class clazz; public Parent() { try { throw new Exception(); } catch (Exception e) {// 获得异常栈信息 StackTraceElement stes[]= e.getStackTrace();// 获得继承的子类名称,stes[0].getClassName为父类名称// 如果想要获取继承children的类,即当前类的“孙子”类,则调用stes[2].getClassName,依此类推 String serviceImpleClassName= stes[1].getClassName(); try {// 通过反射获取类名 Class serviceImplClazz= Class.forName(serviceImpleClassName); String serviceImpleClassSimpleName = serviceImplClazz.getSimpleName(); System.out.println(serviceImpleClassSimpleName);// 获取该类所在的包名 String pojoPackageName = serviceImplClazz.getPackage().getName();// 获得该类的完整路径 String pojoFullName = pojoPackageName +"."+ serviceImpleClassSimpleName; clazz=Class.forName(pojoFullName); System.out.println(clazz); } catch (ClassNotFoundException e1) { e1.printStackTrace(); } } }}
二 应用
代码重构:在实际项目开发中,有许多公共的业务逻辑,如数据库常见的CURD操作,可以将其抽取出来,放到一个公共的父类处,让子类去继承这个父类,根据继承的子类不同,从而为不同的子类提供CURD操作。这样的实现方式,正是JAVA用委托实现代码重构的基本思路。
附 :所有java工具相关的代码,已放到github上,除了此工具类,还有其他工具类,欢迎大家补充,github地址: https://github.com/oovever/javaUtil
阅读全文
0 0
- JAVA 使用反射获得继承类
- java基础之通过反射获得和使用类的字段、方法、构造器,等
- Java 使用反射观察子类是否继承了父类的私有方法
- java反射获得父类泛型参数
- java 反射获得构造方法
- JAVA中 反射加载类 获得类的字节码
- 用JAVA反射获得任意类的内部结构
- java反射获得类的字段和值
- 利用JAVA中的反射机制获得某个类的信息
- java 通过反射获得类的属性和调用方法
- java 利用反射获得超类的子对象
- Java反射机制之获得其他类中的所有属性
- java 的反射机制 通过反射获得类的私有成员
- java中的反射三(反射机制深入---获得类的结构)
- java反射机制 以及通过反射获得类的变量字段,方法,构造函数
- java反射机制 以及通过反射获得类的变量字段,方法,构造函数
- Java反射检查/使用类
- (.net) 使用反射获得 dll 的 HINSTANCE
- 前端数据可视化插件(一)图表
- html标签
- 【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习 | ApacheCN
- Java 8新特性(Lambda,Stream API)
- 内存大小端转换
- JAVA 使用反射获得继承类
- navicat中找回之前的执行语句
- 编程语言学习日志
- SpringBoot之日志记录 SLF4J(H)
- php搭建简单rpc(解决mongodb连接数的问题)
- CAP理论
- vSphere 5 HA 基础功能测试
- 1-LTE Network Architecture: Basic
- PyQt5系列教程(四)信号和槽