title: how to prevent client to access public function of base class
body: <pre><code>//cls_a is defined by system framework, so we cannot change its definition
  public class cls_a {
    public void method_a();
  }
  
  //I add a new cls_b implemenation and would like to 
  //add a new method_a(int) function
  //and prevent client side to access cls_a.method_a()
  public class cls_b extends cls_a {
    public void method_a(int a) {
      //do something for a
      method_a();
    }
  }
  
  //client side
  cls_b b = new cls_b();
  b.method_a(2); //it's okay
  b.method_a(); //should give something error when compiling code
  </code></pre>
  
  <p>I would like to design <code>cls_b</code> so that the Java compiler will give an error when client side calls <code>b.method_a()</code>. Anyone knows how to do it in Java?</p>