Define getter and setter in your interface.
Use any instance attribute in your class.
getter and setter are public.
attribute should be private.
interface IBase {
void m();
void setDesc(String desc); String
getDesc();
}
class X implements IBase {
private String desc; public void
setDesc(String desc){
this.desc = desc;
}
public String
getDesc() {
return desc;
}
public void m() {
System.out.println("X. " + getDesc());
}
}
class Y implements IBase {
private String
description; public void
setDesc(String desc){
description = "Description: " + desc;
}
public String
getDesc() {
return description;
}
public void m() {
System.out.println("Y. "+getDesc());
}
}
class Test1 {
static void amethod(IBase obj) {
obj.setDesc("sometext"); obj.m();
}
public static void main(String[] args){
X x = new X();
Y y = new Y();
amethod(x);
amethod(y);
}
}