解决方法
三种选择:
public static void doSomething() { foo(Baz.class); } private static class Baz extends Bar { // Override a method }
public static void doSomething() { class Baz extends Bar { // Override a method } foo(Baz.class); }
在这样的方法中声明一个类是非常不寻常的,请注意.
>您可以使用匿名内部类,但然后调用getClass():
public static void doSomething() { foo(new Bar() { // Override a method }.getClass()); }
最后一个选项创建一个匿名内部类的实例,只是为了获得Class对象,这当然不太理想.
就个人而言,我可能会选择第一个选项.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。