【发布时间】:2026-02-04 21:10:01
【问题描述】:
我正在尝试弄清楚如何获取 Java pojo,并分析它的方法以了解它可以调用的所有其他方法和函数。例如,这里是输出的硬编码示例。我怎样才能使这个通用?我需要以编程方式分析 Java 对象,以确定如果执行它们可以调用哪些方法。示例:
package com.example.analyze;
public class Main
{
private static class Foo {
public void foo(int value, Bar bar) {
if(value > 5)
bar.gaz();
}
}
private static class Bar {
public void gaz() {
System.out.println("gaz");
}
}
private static class Analyzer {
public void analyze(Object object){
System.out.println("Object method foo could call Bar method gaz");
}
}
public static void main(String[] args)
{
Foo foo = new Foo();
Analyzer analyzer = new Analyzer();
analyzer.analyze(foo);
}
}
【问题讨论】:
-
谢谢,如果您提供如何完成该示例的示例,我很乐意接受。
-
@Jayan,看看这个 pastebin。如何将 $1 连接到函数 doSomething?在评论部分是打印 3 级 jdpends 出站链接pastebin.com/b9E4zEdg 的结果
-
您想在执行前还是在运行时分析代码?如果您对运行时的调用感兴趣,可以查看en.wikipedia.org/wiki/Aspect-oriented_programming。
标签: java static-analysis