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

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


问题概括

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

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


一、案例准备

1.准备了一个父类CouF

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


二、问题描述

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

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

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

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

相关推荐
祎雪双十Gy1 小时前
从 DataX 的配置加载说起:我用 FastJson2 做了一个轻量级动态配置管理库
java·后端
小锋java12341 小时前
分享一套锋哥原创的SpringBoot4+Vue3宠物领养网站系统
java
考虑考虑5 小时前
Java实现hmacsha1加密算法
java·后端·java ee
掉鱼的猫5 小时前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·spring boot
plainGeekDev5 小时前
广播接收器 → Flow + Lifecycle
android·java·kotlin
plainGeekDev5 小时前
EventBus → SharedFlow
android·java·kotlin
带刺的坐椅6 小时前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·springboot·web·solon
用户3721574261356 小时前
Java 将一个 PPT 文档拆分为多个文件
java
人活一口气21 小时前
Spring Boot与AIGC的完美结合:从零搭建智能内容生成平台
java·spring boot·aigc
像我这样帅的人丶你还1 天前
Java 后端详解(三):全局异常处理与 JPA 数据库映射
java·后端