Java:在抽象类中创建一个方法,该方法获取继承类的名称。
Java:在抽象类中创建一个方法,该方法获取继承类的名称。
非常感谢您的帮助。
首先,我不认为我想做的事情是可能的,但我想还是问一下。我有一个抽象类foo,里面有一个方法bar。我有几个继承这个类的类,但没有一个类覆盖了方法bar(尽管所有类都经常调用bar)。我正在尝试调试一个问题,想要打印出调用bar方法的类的名称。所以如果一个类temp继承了foo并调用了bar,将打印出"temp"。
一种方法是为继承foo的每个类重写bar方法,但这会有点麻烦,因为它还会实例化foo中的私有变量。因此,我需要单独的方法来实例化在foo中是私有的每个变量以重写temp中的bar方法。
我想做的是这样的:
System.out.println(Class.getSimpleName());
但我不能这样做,因为getSimpleName()不是一个静态方法,因此不能在无法实例化的地方调用。另一种方法是将foo变成一个普通类(即非抽象类)。然而,我真的不想这样做。
有没有办法实现我想做的事情,还是我必须"咬下这个老生常谈的子弹"?