Java 常用方法和具有一个更改方法参数的方法体
我们的常用方法如下:Java 常用方法和具有一个更改方法参数的方法体,java,Java,我们的常用方法如下: public class CommomClass() { public String[] commonMethod(Object1 inputObject1) { String[] output; output[0] = (inputObject1.getValue1()); output[1] = (inputObject1.getValue2()); return output;
public class CommomClass()
{
public String[] commonMethod(Object1 inputObject1)
{
String[] output;
output[0] = (inputObject1.getValue1());
output[1] = (inputObject1.getValue2());
return output;
}
}
通过将方法参数更改为
Object2 inputObject2
,可以在其他类中使用相同的方法。如何在没有冗余代码的情况下实现这一点?类Object1
和Object2
可以实现一个接口:
public interface HasValues {
public String getValue1();
public String getValue2();
}
public String[] commonMethod(HasValues hasValues) {
String[] output = new String[2];
output[0] = hasValues.getValue1();
output[1] = hasValues.getValue2();
return output;
}
您的通用方法可以重新定义,以获取该接口的实例:
public interface HasValues {
public String getValue1();
public String getValue2();
}
public String[] commonMethod(HasValues hasValues) {
String[] output = new String[2];
output[0] = hasValues.getValue1();
output[1] = hasValues.getValue2();
return output;
}
类
Object1
和Object2
可以实现一个接口:
public interface HasValues {
public String getValue1();
public String getValue2();
}
public String[] commonMethod(HasValues hasValues) {
String[] output = new String[2];
output[0] = hasValues.getValue1();
output[1] = hasValues.getValue2();
return output;
}
您的通用方法可以重新定义,以获取该接口的实例:
public interface HasValues {
public String getValue1();
public String getValue2();
}
public String[] commonMethod(HasValues hasValues) {
String[] output = new String[2];
output[0] = hasValues.getValue1();
output[1] = hasValues.getValue2();
return output;
}
Object1
和Object2
之间是否有任何关系,即一个公共父类(您可以使用Object
,但任何要传递的对象都可以使用该类),或者一个是另一个的父类?请参见下面的答案。如果我误解了这个问题,请澄清。@twain249:他不能使用Object,因为Object没有方法stringgetvalue1()
。Object1
和Object2
之间是否有任何关系,即一个公共父类(您可以使用Object
,但这对于要传递的任何对象都是有效的),或者一个是另一个的父类?请参阅下面的答案。如果我误解了这个问题,请澄清。@twain249:他不能使用Object,因为Object没有方法stringgetvalue1()代码>。为什么它不是字符串hasValue(int no)代码>?为什么它不是字符串hasValue(int no)代码>?