我有两个java文件,我已经编译并打包成一个jar文件。
// Main.java
public class Main extends GameWindow {
public static void main(String[] args) {
System.out.println("hello reflection!");
}
}
// GameWindow.java
import java.applet.Applet;
public abstract class GameWindow extends Applet { }
我正在使用Java Reflection库打印出Main和GameWindow的父类。
Class<?> main = Class.forName("Main");
System.out.println(main.getSuperclass() );
Class<?> gamewindow = Class.forName("GameWindow");
System.out.println(gamewindow.getSuperclass() );
我希望Main's
超级类为GameWindow
,GameWindow's
超级类为Applet
,但是当我运行上面的代码时,我收到的输出是
class java.lang.Object
class java.applet.Applet
导致这些结果的原因是什么?
答案 0 :(得分:0)
我几乎可以肯定你正试图查找错误的课程。尝试使用
Class<?> main = Class.forName("yourpackage.Main");