U guessed right Tony! amethod(int) being private in base class can't be overriden. Private methods are private to class only so they are not inheritaed. Therefore, 0.amethod() actually calls Over class's amethod(). If u change base class method as... public void amethod(int iBase) throws IOException{} then the version in over class becomes an overriden method. so compiler raises error as... Over.java:15: amethod(int) in Over cannot override amethod(int) in Base; overridden method does not throw java.lang.Exception public void amethod(int iOver) throws Exception{

This is because the overriden method can throw anly subset of exceptions thrown by base class method. Hopr this helps!! Rashmi

[This message has been edited by Rashmi Gunjotikar (edited December 02, 2001).]