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

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


问题概括

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

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


一、案例准备

1.准备了一个父类CouF

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


二、问题描述

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

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

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

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

相关推荐
notillusion1 分钟前
CUK#22162
java·php·程序优化
RainbowSea3 分钟前
11. Spring AI + ELT
java·spring·ai编程
杨福瑞6 分钟前
C语言数据结构:算法复杂度(2)
c语言·开发语言·数据结构
道之极万物灭7 分钟前
Go基础知识(一)
开发语言·后端·golang
RainbowSea8 分钟前
12. 模型RAG评测
java·spring·ai编程
张晓~1833994812128 分钟前
碰一碰发视频 系统源码 /PHP 语言开发方案
开发语言·线性代数·矩阵·aigc·php·音视频·文心一言
代码不停30 分钟前
Java前缀和算法题目练习
java·开发语言·算法
豆沙沙包?30 分钟前
2025年--Lc200- 414. 第三大的数(大根堆)--Java版
java·开发语言
一念&37 分钟前
每日一个C语言知识:C 指针
c语言·开发语言
在下木子生37 分钟前
SpringBoot基于工厂模式的多类型缓存设计
java·spring boot·缓存