请问,java中能否在两个接口中定义相同签名的方法。然后让某个类实现这两个接口,但是对于不同接口,实现的代码又不相同呢?
比如说:
public interface SimpleDescriptor
{
public String getDescription();
}public interface ComplexDescriptor
{
public String getDescription();
}public class SomeClass implements SimpleDescriptor, ComplexDescriptor
{
protected String simpleDesc = "This is simple description.";
protected String complexDesc = "This is complex description."; //请问怎么写能够实现通过接口SimpleDescriptor调用getDescription时返回simpleDesc中的内容;而通过ComplexDescriptor调用getDescription时返回complexDesc中的内容呢?
}
比如说:
public interface SimpleDescriptor
{
public String getDescription();
}public interface ComplexDescriptor
{
public String getDescription();
}public class SomeClass implements SimpleDescriptor, ComplexDescriptor
{
protected String simpleDesc = "This is simple description.";
protected String complexDesc = "This is complex description."; //请问怎么写能够实现通过接口SimpleDescriptor调用getDescription时返回simpleDesc中的内容;而通过ComplexDescriptor调用getDescription时返回complexDesc中的内容呢?
}
因为,都实现了两个接口中getDescription();
这两方法是相同的。被覆盖了。
public class SomeClass implements SimpleDescriptor, ComplexDescriptor
{
protected String simpleDesc = "This is simple description.";
protected String complexDesc = "This is complex description."; //你只能定义这个方法,而不可能同时存在两个
public String getDescription(){
return this.simpleDesc;
// or return other
return this.complexDesc;
} //error
// public String getDescription(){
/ return this.simpleDesc;
//
// }
}