解答
子类的对象可以作为父类的对象(引用时是对父类方法的引用,但是传入的对象是子类的对象,即用子类的对象来对父类进行实例化),但是反过来不行。所以:
1.子类的访问权限一定要比父类大或相等。【子访问权限>父访问权限】
例:
父类A拥有的方法public void setXXX(){}可以被其他任意对象调用。该方法被子类B重写后为void setXXX(){},即默认的访问权限只能被本包及其子类所访问。假设其它包中的对象C调用方法为:get(A a=new B()){a.setXXX();}。而此时传入的对象为B类对象b,此时b将转型为a,但是b中的setXXX()调用权限已经被缩小了这将造成错误。所以子类的方法的访问权限不能小于父类。
以上只是一个例子还有其他出于易维护、易代码结构设计的设计思想原因。
2.子类重写父类的方法时,抛出的异常大小不能比父类的异常大。【子异常<父异常】
帖子还没人回复快来抢沙发