关于java访问控制修饰符的小问题,求解
java访问修饰符有四种:
1、public,对外公开,所有的类都可访问。
2、protected,受保护的,只有同包中的类和子类可以访问
3、默认的。只有同包中的类可以访问。
4、private.私有的,只有该类中可以访问。
其中的protected访问修饰符说子类可以访问,是指子类可以继承父类的protected成员吗?如果是这样的,那么默认的级别说只有包中的类可以访问,也就是子类中不可以访问,就是子类不能继承父类的默认级别的成员吗?事实是,子类可以继承父类的除了private的成员,这是为什么呢?还是我的理解有错误呢,求大神讲解!3Q
java
访问控制修饰符
private
------解决方案--------------------在同一包中,不是子类也可访问;在不同的包中,必须是子类才可访问。。。
------解决方案--------------------子类的继承性分两种情况:
①子类和父类在同一包中的继承性
子类继承父类非private的成员变量和成员函数,即可继承public, protected和友好成员(没有修饰词的成员)。
②子类和父类不在同一包中的继承性
子类继承父类public, protected成员,而不能继承友好成员和private成员。