Java之访问权限控制符以及结合继承体系引发的注意事项
2016-09-12 19:21
531 查看
访问修饰符的作用域:
private:可以定义方法或者属性,定义的方法和属性不能被外部的类所访问(包括子类)。default:可以在本包中的任意地方访问。protected:保护,不同包中的非子类不能访问。(能访问的成员包括相同包以及该类的任意子类)public:公共的,都可以访问,不受任何限制。
Java继承&访问修饰符结合使用引发的大混乱
1.子类重载方法的权限是否允许小于父类定义?其中,private<default<public不允许,注:Java中允许Parent parent=new Children();的多态表现形式,若此时允许子类方法权限小于父类,则会出现变量申明为Child类型时不允许访问,申明为Parent时则允许访问,这很显然逻辑不通。2.如果在父类中申明private方法,那么在子类中使用default权限算是覆写吗?不是覆写,此时表示重新定义。
3.父类与子类同名属性的覆盖问题参考链接:http://gaolixu.iteye.com/blog/363709
a.同名变量访问权限相同:
变量的值取决于我们定义的变量的类型,而不是创建的对象的类型(其中,private修饰的变量不予考虑),即:
Parent parent=new Parent();//父类的值
Parent childOfParent=new Child();//父类的值
Child child=new Child();//子类的值
b.子类访问权限的修改不影响最终结果。
扩展阅读:Java之获取Class对象及两种方式实例化对象的过程分析
来自为知笔记(Wiz)
相关文章推荐
- Java之访问权限控制符以及结合继承体系引发的注意事项
- 深入Java基础(三)--集合(2)ArrayList和其继承树源码解析以及其注意事项
- java继承中覆盖时的注意事项,以及匿名类的使用
- Java编程思想笔记02:组合与继承、final、策略设计模式与适配器模式、内部类、序列化控制(注意事项)
- java知识点 (继承、对象、复用类、初始化、访问权限控制等)
- java知识点 (继承、对象、复用类、初始化、访问权限控制等)
- 关于java的访问权限控制,以关于继承的this和super小结
- salesforce 访问权限控制以及和java的区别
- Java继承多态中的方法访问权限控制
- Java中的四种访问权限控制
- Java 继承访问权限与初始化
- java编程思想阅读笔记(二)访问权限控制和复用类
- JavaWeb 案例——访问权限控制
- 《java编程思想》之控制对成员的访问权限的原因、final、继承和组合、私有方法的“覆盖”
- 《java编程思想》之控制对成员的访问权限的原因、final、继承和组合、私有方法的“覆盖”
- thinking in java笔记 6 访问权限控制
- java--访问控制和内部类 (权限修饰符)
- Java中的访问权限控制
- Java复习总结:Java面向对象程序设计—异常的捕获及处理、包及访问控制权限
- 关于JAVA中的访问权限的几点注意