gpt4 book ai didi

java - 在 Scala/Java 中,如何检查方法的定义位置?

转载 作者:搜寻专家 更新时间:2023-11-01 03:50:21 25 4
gpt4 key购买 nike

例如,我看到了这样一个 Scala 表达式:

objX.methodY

似乎没有办法看到methodY是从哪里来的,可能来自:

(1)objX类,暂且称之为ClassX

(2)objX的父类(super class)(ClassX),暂且称它为SuperClassX

(3) 一个叫做ClassZ的类,ClassZobjX无关,但是有一个从ClassX<的隐式转换ClassZ

那么methodY的来源可能有3种可能,有没有人知道如何找到methodY的定义位置?

换句话说,在Scala中,如何在运行时检查一个方法的信息(尤其是来自隐式转换的方法)?

最佳答案

有可能获得具有反射声明的方法的类。用你的名字:

objX.getClass().getMethod("methodY").getDeclaringClass();

关于java - 在 Scala/Java 中,如何检查方法的定义位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30181910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com