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

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


问题概括

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

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


一、案例准备

1.准备了一个父类CouF

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


二、问题描述

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

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

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

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

相关推荐
望舒5131 分钟前
代码随想录day25,回溯算法part4
java·数据结构·算法·leetcode
黎雁·泠崖3 分钟前
【魔法森林冒险】3/14 Allen类(一):主角核心属性与初始化
java·开发语言
黎雁·泠崖7 分钟前
【魔法森林冒险】1/14 项目总览:用Java打造你的第一个回合制冒险游戏
java·开发语言
独好紫罗兰12 分钟前
对python的再认识-基于数据结构进行-a006-元组-拓展
开发语言·数据结构·python
NuageL14 分钟前
原始Json字符串转化为Java对象列表/把中文键名变成英文键名
java·spring boot·json
C++ 老炮儿的技术栈17 分钟前
Qt 编写 TcpClient 程序 详细步骤
c语言·开发语言·数据库·c++·qt·算法
yuuki23323327 分钟前
【C++】继承
开发语言·c++·windows
222you27 分钟前
Redis的主从复制和哨兵机制
java·开发语言
江湖有缘31 分钟前
零基础入门:使用 Docker 快速部署 Organizr 个人主页
java·服务器·docker
牛奔33 分钟前
如何理解 Go 的调度模型,以及 G / M / P 各自的职责
开发语言·后端·golang