java – 将内联构造的类作为Class参数传递给方法
发布时间:2020-12-15 04:27:07 所属栏目:Java 来源:网络整理
导读:我需要调用以下方法. void foo(Class? extends Bar cls); 对于cls参数,我需要传递一个只覆盖Bar的单个方法的类. 我想知道是否有一种方法可以在上面的调用本身中编写我的新类的内联定义,而无需在扩展Bar的单独文件中编写新类. 解决方法 三种选择: 您可以在要
我需要调用以下方法.
void foo(Class<? extends Bar> cls); 对于cls参数,我需要传递一个只覆盖Bar的单个方法的类. 我想知道是否有一种方法可以在上面的调用本身中编写我的新类的内联定义,而无需在扩展Bar的单独文件中编写新类. 解决方法
三种选择:
>您可以在要使用此代码的同一个类中创建嵌套类;不需要新文件 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); } 在这样的方法中声明一个类是非常不寻常的,请注意. public static void doSomething() { foo(new Bar() { // Override a method }.getClass()); } 最后一个选项创建一个匿名内部类的实例,只是为了获得Class对象,这当然不太理想. 就个人而言,我可能会选择第一个选项. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – Android支持库:getDrawable独立如果向量与否
- 其中静态对象存储在java中
- java – RabbitMQ com.rabbitmq.client.AlreadyClosedExcep
- 详细解读Hibernate的缓存机制
- 通过使用java.util.Date可能出现下溢错误
- 8 Great Java 8 Features No One's Talking about--转载
- 颜色 – JavaFX ProgressBar:如何改变栏颜色?
- Android监控软键盘变化实例
- java – 在Spring-Hibernate项目中初始化实体集合(POJO)的正
- Java多线程编程安全退出线程方法介绍