Java反射调用kotlin中的类,Object类,Companion对象
- 电脑硬件
- 2025-07-21 19:26:53

Java反射调用kotlin中的类,Object类,Companion对象
1. Java反射调用kotlin中的普通类kotlin普通类:
package com mon; class TestNormal { fun get():String{ return "Nolmal abc" } fun showNum(v:Int){ println("Nolmal showNum:" + v) } }通过Java反射调用:
public void testNormal() { try { Class c = Class.forName("com mon.TestNormal"); Object ins = c.newInstance(); System.out.println("object:" + ins); Method meth1 = c.getDeclaredMethod("get"); Object r1 = meth1.invoke(ins); System.out.println("method1: " + meth1); System.out.println("r1:"+r1+", type: " + r1.getClass()); Method meth2 = c.getDeclaredMethod("showNum", int.class); Object r2 = meth2.invoke(ins, 10086); System.out.println("meth2: " + meth2); System.out.println("r2: " + r2); } catch (Exception e) { e.printStackTrace(); } } 2. Java反射调用kotlin中的Object类kotlin普通类:
package com mon; object TestRef { fun get():String{ return "TestRef abc" } fun showNum(v:Int){ println("TestRef showNum:" + v) } }通过Java反射调用:
public void testObject() { try { Class c = Class.forName("com mon.TestRef"); Field insField = c.getDeclaredField("INSTANCE"); Object ins = insField.get(null); System.out.println("object:" + ins); Method meth1 = c.getDeclaredMethod("get"); Object r1 = meth1.invoke(ins); System.out.println("method1: " + meth1); System.out.println("r1:"+r1+", type: " + r1.getClass()); Method meth2 = c.getDeclaredMethod("showNum", int.class); Object r2 = meth2.invoke(ins, 10086); System.out.println("meth2: " + meth2); System.out.println("r2: " + r2); } catch (Exception e) { e.printStackTrace(); } } 3. Java反射调用kotlin中的Companion对象kotlin普通类:
package com mon; class TestCom { companion object { fun get():String{ return "TestCom abc" } fun showNum(v:Int){ println("TestCom showNum:" + v) } } }通过Java反射调用:
public void testCompanion() { try { Class c = Class.forName("com mon.TestCom$Companion"); Object ins = Class.forName("com mon.TestCom").getField("Companion").get(null); Method meth1 = c.getDeclaredMethod("get"); Object r1 = meth1.invoke(ins); System.out.println("method1: " + meth1); System.out.println("r1:"+r1+", type: " + r1.getClass()); Method meth2 = c.getDeclaredMethod("showNum", int.class); Object r2 = meth2.invoke(ins, 10086); System.out.println("meth2: " + meth2); System.out.println("r2: " + r2); } catch (Exception e) { e.printStackTrace(); } }Java反射调用kotlin中的类,Object类,Companion对象由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Java反射调用kotlin中的类,Object类,Companion对象”
上一篇
3D数字孪生场景编辑器