As the title says, I’m trying to do something like this:
public abstract class ClassA{
private String var;
...
protected void setVar(String var){
this.var = var
};
protected String getVar(){
return this.var
};
}
public class ClassB extends ClassA{
public ClassB(...){
object.setListener(new Listener(){
@Override
public void onItemSelected(data ...){
// Would like to do:
var = data;
// BUT:
// CANT CALL VAR since its a private String of Class A
// CANT CALL setVar(data) since it will end up looping
// CANT CALL super.setVar(data) since super dosn't point to ClassA in here
};
});
}
@Override
protected void setVar(String var){
super.setVar(var);
// DO MORE STUFF WHICH WILL CALL THE LISTENER
};
}
Sure, I could make var public, but that’s not what I want! var should remain protected, changes should only happen using the setters.
Is there a way?
Try this: