If any of the method or data member is declared private then that private variable or member method is not inherited to the derived class. Consider an example of this :
class BasicClass { int a = 100; // by default package access private int j = 200; void functionBase() // by default package access, will be inherited { System.out.println("inside BasicClass"); } private void functionBase2() // this function will not be inherited in // derived class { System.out.println("inside provate function"); } public void functionBase3() // will be inherited { System.out.println("inside functionbase3"); } } public class PrivateInheritance extends BasicClass { public static void main(String[] args) { BasicClass b = new BasicClass(); System.out.println(b.a);// a is visible here, because of package access b.j; // gives error, j not visible here b.functionBase(); // will execute as functionBase() available here b.functionBase2(); // will give error b.functionBase3(); // will execute } }