黑马程序员技术交流社区

标题: a访问不到到底是Zi没有继承a,还是私有化了没办法访问啊... [打印本页]

作者: 2528870651    时间: 2014-3-14 12:58
标题: a访问不到到底是Zi没有继承a,还是私有化了没办法访问啊...
本帖最后由 2528870651 于 2014-3-15 12:32 编辑
  1. class ExtendsDemo2

  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 Zi p= new Zi();
  6.                 p.show();
  7.         }
  8. }

  9. class Fu
  10. {
  11.         private int a= 4;   //把a私有化
  12. }

  13. class Zi extends Fu
  14. {
  15.         // int a=3;
  16.          void show()
  17.          {
  18.                 System.out.println(super.a);  //访问不到a,到底是Zi没有继承a,还是私有化了没办法访问啊
  19.          }
  20. }
复制代码

作者: 菜小徐    时间: 2014-3-14 13:14
私有化的问题。
private 类访问权限:本类内部可以访问,不能继承到子类;
default 什么都不写,包访问权限:本类内部可以访问,同包其他类也可以访问,同包可继承;
protected 子类访问权限:本类内部可以访问,不同包的子类也可以访问,同包其他类也可以访问,能继承到子类;
public 公共访问权限:任何地方都可以访问,能继承到子类;

作者: 艮昕辶    时间: 2014-3-14 13:27
private 修饰的成员变量或者方法都只能在类定义的内部使用
  1. class ExtendsDemo2

  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 Zi p= new Zi();
  6.                 p.showZi();
  7.         }
  8. }

  9. class Fu
  10. {
  11.         private  int a= 4;   //把a私有化
  12.                 private void show()
  13.                 {
  14.                         System.out.println("父类的private方法");
  15.                 }
  16.                
  17. }

  18. class Zi extends Fu
  19. {
  20.         private void showZi()
  21.                 {
  22.                          super.show();
  23.                 }
  24.       
  25. }
复制代码

作者: 谜燕    时间: 2014-3-14 13:59
被私有化的成员是不能被子类继承的,只在它所在的类中有效。
作者: 橸瑩膤漃寞林    时间: 2014-3-14 14:36
private:私有只在本类中有效,zi就不能继承fu了。要想继承,去掉private就行了。
作者: 1014917278    时间: 2014-3-14 14:43
确实是私有的问题,私有后只能在本类中被访问到,私有就是封装,私有后可以通过set和get方法来获取私有值
  1. class Fu{
  2. private int a =4;
  3. public void set(int a){
  4. this.a = a;
  5. }
  6. public int get(){
  7. return a;
  8. }
复制代码

作者: 2528870651    时间: 2014-3-15 09:15
谢谢大家的回答  !!  父类中 a被私有化了 所以子类再来继承的话  子类根本不知道有一个a




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2