Java中子类重写了父类private属性的方法,在子类调用父类private非private方法时访问的变量为什么是父类private值

Java回顾例子之子类继承父类之间的注意事项_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Java回顾例子之子类继承父类之间的注意事项
来源:妮~妮~空间&
作者:妮~妮
Java中提供了单向继承,即一个类最多只能拥有一个父类。所有未指定继承其他类的类默认都继承Object父类。它是根基类。继承中,会和我们的封装特性有冲突,如我们在封装中,强调一定要让所有的类相对其他类是透明体。即只显示那些需要被使用和访问的方法等,而对实现这些方法的东西,如其中的属性等都不能够被子类访问,更不能够被任意的修改。而在继承中将有可能发生被修改问题。所以在设计类的时候,为了更好的封装性,需要注意以下几点。
1.尽量隐藏父类中所有的属性数据,即使用private修饰符,哪怕这个属性需要被子类所运用和修改,那么请相应的提供set和get方法,在方法中控制子类修改属性值的合法性问题。
2.不需要被子类访问或者不希望被子类访问和修改的类实现的辅助方法,申明为private方法。
3.希望被访问和使用的方法,但不能够被修改的方法,申明为public并且用final关键字修饰不可重写
4.只是希望子类能够访问,而其他类无法访问的访问应该申明为protected。
5.不要在父类的构造方法中调用被子类重写的方法。
  子类在隐藏了父类的成员变量或重载了父类的方法后,常常还要用到父类的成员变量,或在重载的方法中使用父类中被重载的方法以简化代码的编写,这时就要访问父类的成员变量或调用父类的方法,Java中通过super来实现对父类成员的访问。
  Java中,this用来引用当前对象,与this 类似,super用来引用当前对象的父类。
  super的使用有三种情况:
  1.用来访问父类被隐藏的成员变量,如:super.variable;
  2.用来调用父类中被重载的方法,如:
     super.Method ([paramlist]);
  3.用来调用父类的构造函数,如:super([paramlist]);
  我们通过下例来说明super的使用 ,以及成员变量的隐藏和方法的重载。
相关资讯 & & &
& (11/30/:52)
& (07/08/:10)
& (04/22/:27)
& (11/21/:48)
& (05/21/:16)
& (07/09/:16)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
asdfas 发表于 sdfsadf

我要回帖

更多关于 子类重写父类的属性 的文章

 

随机推荐