There something ambiguous about this idea and I need some clarifications.
My problem is when using this code:
public class B {
private void don(
You can't override a private method, but you can introduce one in a derived class without a problem. The derive class can not access the private method on the ancestor.
Since t is a on object of type B, calling don() method will invoque the method defined at B. It doesn't even know that there is a method named also don() at class A