java权限有public,protected,private以及包访问权限四种,在继承时可以继承的权限有public,protected和包内访问三种:public和protected所子类可以继承,包内访问权限只能是同包内继承。
关于访问权限:当子类和父类不再一个包内时,子类同样会继承protected方法,但是当子类不覆盖protected方法时,子类同包的类是访问不了该函数的,但是浮类同包内的类可以访问。如果子类覆盖了该方法,结果相反,子类同包的类可以访问,父类同包内的类不能访问。
其中原因是:不覆盖时调用的是父类的方法,子类包内的类与父类不在一个包内所以不能访问,当覆盖后调用的是子类的方法,子类包内的类可以访问,父类包内的类不同包不能访问。