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

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


问题概括

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

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


一、案例准备

1.准备了一个父类CouF

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


二、问题描述

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

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

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

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

相关推荐
星尘库几秒前
怎么实现js混淆加密 每隔一段时间 会失效 需要重新加密使用
java·服务器·前端
白露与泡影1 分钟前
Java面试题2025最新、最全、最细(附答案)
java·开发语言
D***y2016 分钟前
SpringCloud篇(配置中心 - Nacos)
java·spring·spring cloud
幸运小圣7 分钟前
递归(Recursion)快速上手指南【JS例子】
开发语言·javascript·ecmascript
weixin_5150397911 分钟前
互联网大厂面试:程序员二狗的搞笑经历
java·学习·面试·程序员·互联网·技术·故事
宠..17 分钟前
安装 Qt VS Tool 插件
开发语言·qt
q***D44322 分钟前
Navicat 连接 SQL Server 详尽指南
java
a***560622 分钟前
Knife4j文档请求异常(基于SpringBoot3,查找原因并解决)
java·服务器·数据库
f***686022 分钟前
Spring Boot 热部署
java·spring boot·后端