Someone asked me if he can run private base function. I told him that of course it is not possible (apart from trick of relection). But what the hell is this:
public class MyClass {
    public static void main(String args[]) {
        A a = new B();
        a.doSomething();
        B b = new B();
        b.doSomethingMore();
    }
   static class A {
        private void doSomething(){
            System.out.println("something");
        }
    }
    static class B extends A{
        public void doSomethingMore(){
            ((A)this).doSomething();
        }
    }
}
 
     
    