Java 如何为不同数据类型的不同类实现接口
假设您有一个接口,它有一个Java 如何为不同数据类型的不同类实现接口,java,Java,假设您有一个接口,它有一个sum方法,有两个实现类a和B。类A要求两个整数之和,类B要求两个长整数之和。接口C的实现是什么 class A implements C{ sum(2,3); } class B implements C { sum(2.0,3.0); } 如何实现C?您可以使用通用接口来实现这一点。比如说 接口C{ T和(ta,tb); } A类实现C{ @凌驾 公共长款(长款a、长款b){ 返回a+b; } } B类实现C{ @凌驾 公共浮动金额(浮动a、浮动b){ 返回a+
sum
方法,有两个实现类a
和B
。类A
要求两个整数之和,类B
要求两个长整数之和。接口C
的实现是什么
class A implements C{
sum(2,3);
}
class B implements C {
sum(2.0,3.0);
}
如何实现C?您可以使用通用接口来实现这一点。比如说
接口C{
T和(ta,tb);
}
A类实现C{
@凌驾
公共长款(长款a、长款b){
返回a+b;
}
}
B类实现C{
@凌驾
公共浮动金额(浮动a、浮动b){
返回a+b;
}
}
您可以使用通用接口实现这一点。比如说
接口C{
T和(ta,tb);
}
A类实现C{
@凌驾
公共长款(长款a、长款b){
返回a+b;
}
}
B类实现C{
@凌驾
公共浮动金额(浮动a、浮动b){
返回a+b;
}
}
通用界面可以在这里帮助您。您可以使用Java中的泛型扩展Number
类
接口
public interface BaseInterface<T extends Number> {
T sum(T a, T b);
}
公共接口BaseInterface{
T和(ta,tb);
}
整数实现
public class ImplementationOne implements BaseInterface<Integer> {
@Override
public Integer sum(Integer a, Integer b) {
return a + b;
}
}
public class ImpelementationTwo implements BaseInterface<Double> {
@Override
public Double sum(Double a, Double b) {
return a + b;
}
}
公共类实现One实现BaseInterface{
@凌驾
公共整数和(整数a、整数b){
返回a+b;
}
}
双重实施
public class ImplementationOne implements BaseInterface<Integer> {
@Override
public Integer sum(Integer a, Integer b) {
return a + b;
}
}
public class ImpelementationTwo implements BaseInterface<Double> {
@Override
public Double sum(Double a, Double b) {
return a + b;
}
}
公共类推进两个实现BaseInterface{
@凌驾
公共双和(双a,双b){
返回a+b;
}
}
通用界面可以在这里帮助您。您可以使用Java中的泛型扩展Number
类
接口
public interface BaseInterface<T extends Number> {
T sum(T a, T b);
}
公共接口BaseInterface{
T和(ta,tb);
}
整数实现
public class ImplementationOne implements BaseInterface<Integer> {
@Override
public Integer sum(Integer a, Integer b) {
return a + b;
}
}
public class ImpelementationTwo implements BaseInterface<Double> {
@Override
public Double sum(Double a, Double b) {
return a + b;
}
}
公共类实现One实现BaseInterface{
@凌驾
公共整数和(整数a、整数b){
返回a+b;
}
}
双重实施
public class ImplementationOne implements BaseInterface<Integer> {
@Override
public Integer sum(Integer a, Integer b) {
return a + b;
}
}
public class ImpelementationTwo implements BaseInterface<Double> {
@Override
public Double sum(Double a, Double b) {
return a + b;
}
}
公共类推进两个实现BaseInterface{
@凌驾
公共双和(双a,双b){
返回a+b;
}
}
2.0
和3.0
不是long
s.2.0
和3.0
不是long
s。。。