2015-05-29 3 views
1

Я могу просмотреть методы класса с использованием java-отражения.Просмотреть реализацию метода (тело метода) с использованием Java Reflection

Method[] methods = Person.class.getMethods(); 
    for(Method method : methods){ 
     System.out.println("method = " + method); 
    } 

person класс,

class Person{ 
String name; 
int age; 

Person(String name,int age){ 
    this.name = name; 
    this.age = age; 
} 
public int count(){ 
    int count = 10*20; 
    return count; 
} 
} 

с помощью отражения метода count будет рассматривать как, method = public int Person.count(), но не реализация (метод тела).

В любом случае, чтобы просмотреть полную информацию о реализации метода с использованием такого подхода или с любым другим?

ответ

1

Это невозможно сделать с помощью стандартных инструментов Java. Реализация исходного метода недоступна во время выполнения. Однако вы можете загрузить этот файл класса в качестве ресурса и передать его в Java decompiler, который будет стараться изо всех сил создать исходный код этого класса. Или, конечно, не гарантируется, что результат будет на 100% точным, и будет еще хуже, если ваш класс будет скомпилирован без отладки информации.

0

Существует проект sourceforge. Он принимает файл класса в качестве входных данных, декомпилирует его, предоставляет исходный файл и не зависит от платформы: Java Decompiler

Смежные вопросы