java的获取接口和类的所有方法的方法名getName和c++对比

 

功能  Java c++
获取运行时类型

obj.getClass()

typeid(obj)
类型对象类型 Class<?> std::type_info
类型比较 == , isAssignableFrom == , <
获取类名 .getName() .name() (需 demangle)
是否默认可用 是(所有对象)  否(仅多态类型)

获取类和接口的所有方法:


// 获取接口中的类
Class<?> interfaceAClass = InterfaceA.class;
Method[] interfaceMethods = InterfaceAClass.getMethod();
String interfaceMethodName = methods[0].getName();


//获取方法中的类
Method[] objMethods = methodObj.getMethod();

String objMethodName1= methods[0].getName();

 java的getName方法是native,且没有用jni实现,是内置机器码实现的,直接获取kclass的对象头。

 

posted @ 2026-03-15 04:17  曦灰  阅读(5)  评论(0)    收藏  举报