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

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


问题概括

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

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


一、案例准备

1.准备了一个父类CouF

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


二、问题描述

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

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

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

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

相关推荐
Cosmoshhhyyy7 分钟前
LeetCode:3083. 字符串及其反转中是否存在同一子字符串(哈希 Java)
java·leetcode·哈希算法
AI人H哥会Java20 分钟前
【Spring】基于XML的Spring容器配置——<bean>标签与属性解析
java·开发语言·spring boot·后端·架构
开心工作室_kaic30 分钟前
springboot493基于java的美食信息推荐系统的设计与实现(论文+源码)_kaic
java·开发语言·美食
缺少动力的火车32 分钟前
Java前端基础—HTML
java·前端·html
析木不会编程37 分钟前
【C语言】动态内存管理:详解malloc和free函数
c语言·开发语言
loop lee40 分钟前
Redis - Token & JWT 概念解析及双token实现分布式session存储实战
java·redis
ThetaarSofVenice41 分钟前
能省一点是一点 - 享元模式(Flyweight Pattern)
java·设计模式·享元模式
InSighT__42 分钟前
设计模式与游戏完美开发(2)
java·游戏·设计模式
神仙别闹43 分钟前
基于Java2D和Java3D实现的(GUI)图形编辑系统
java·开发语言·3d