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

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


问题概括

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

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


一、案例准备

1.准备了一个父类CouF

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


二、问题描述

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

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

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

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

相关推荐
ZEERO~2 分钟前
@dataclass的作用
开发语言·windows·python
南行*9 分钟前
C语言Linux环境编程
linux·c语言·开发语言·网络安全
J***516811 分钟前
SpringSecurity的配置
java
Morwit12 分钟前
Qt qml创建c++类的单例对象
开发语言·c++·qt
面汤放盐12 分钟前
软件架构指南 Software Architecture Guide
java·微服务·devops
tkevinjd12 分钟前
JUC5(线程池)
java·线程池·多线程·juc
Tao____13 分钟前
如何对接Modbus-tcp协议(使用Thinlinks物联网平台)
java·物联网·网络协议·tcp/ip·modbus
古城小栈14 分钟前
Rust 已经自举,却仍需GNU与MSVC工具链的缘由
开发语言·rust
鱼跃鹰飞18 分钟前
经典面试题:K8S的自动缩扩容和崩溃恢复
java·容器·kubernetes
jarreyer18 分钟前
数据项目分析标准化流程
开发语言·python·机器学习