Java关于由子类构造器生成的父类对象的反射问题

Java关于由子类构造器生成的父类对象的反射问题


问题概括

提示:这里我就不绕圈子直接描述:

Java中由子类构造器生成的父类的getclass.getName不是父类的类名而是子类的类名,因此不可以用子类构造器生成的父类对象获取Class类进行反射操作,而是直接用父类名


一、案例准备

1.准备了一个父类CouF

2.准备了一个继承父类CouF的子类Cou


二、问题描述

在测试类中新建一个由子类(Cou)构造器生成的父类对象couf,并调用getClass方法获取Class类再调用getName方法获取该对象的类名

而getName()返回的结果为Cou,说明该父类对象的类名为Cou而不是CouF

因此一定不能用对象.getClass.getDeclareMethod()获取对象的方法,否则会报错如下图所示

正确方法应该用父类的类名如下图所示

相关推荐
有味道的男人几秒前
1688获得商品类目调取商品榜单
java·前端·spring
leaves falling几秒前
c语言单链表
c语言·开发语言
独自破碎E4 分钟前
【中心扩展法】LCR_020_回文子串
java·开发语言
不光头强5 分钟前
spring boot项目欢迎页设置方式
java·spring boot·后端
XLYcmy6 分钟前
一个用于统计文本文件行数的Python实用工具脚本
开发语言·数据结构·windows·python·开发工具·数据处理·源代码
4311媒体网13 分钟前
自动收藏功能的实现方法
java·开发语言
xyq202415 分钟前
SQLite 创建表
开发语言
Tansmjs15 分钟前
C++中的工厂模式变体
开发语言·c++·算法
Yana.nice17 分钟前
证书格式的适用场景与核心对比
java·linux