【发布时间】:2019-04-02 11:55:31
【问题描述】:
有人可以帮我写下面的代码吗?
我有 2 个类 Controller1 和 Controller2 实现接口控制器如下:
package com.controllers
public interface Controllers{
public void method1(*****);
}
------------------------------
package com.controllers
public class Controller1{
public void method1(com.model1.Module1 module);
}
------------------------------
package com.controllers
public class Controller2{
public void method1(com.model2.Module1 module);
}
------------------------------
我有 2 个包,它们具有相同的类(两个类也具有相同的方法),如下所示
package com.model1
public class Module1{
}
------------------------
package com.model1
public class Module2{
}
-----------------------
package com.model2
public class Module1{
}
------------------------
package com.model2
public class Module2{
}
我使用工厂类在运行时获取Controller1 或Controller2 的实例,因此继承类中method1 的参数类型会有所不同。但我不能这样做,因为方法签名不能被覆盖。
有人可以给我推荐一个替代方案吗?谢谢...
【问题讨论】:
-
如果参数数量相同,则可以使用泛型。
-
参数个数相同。能否请您详细说明。
-
泛型无法用一个答案来解释。对于初学者,请访问:stackoverflow.com/questions/7815528/what-are-generics-in-java
标签: java inheritance polymorphism overriding