黑马程序员技术交流社区

标题: 子类获取父类私有的属性 [打印本页]

作者: 嘿~~    时间: 2014-8-11 15:00
标题: 子类获取父类私有的属性
本帖最后由 嘿~~ 于 2014-8-11 15:24 编辑

将父类的成员变量私有化,子类不能通过对象来直接获取,子类构造函数可以通过super来指定调用父类的构造函数来完成初始化
  1. class  ExtendsDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 Fu z = new Zi("zhangsan",19,"sc0012");
  6.                
  7.                 //子类对象不能直接访问父类被私有化的成员变量
  8.                 //System.out.println(z.name+"----"+z.age);
  9.         }
  10. }
  11. class Fu
  12. {
  13.         //将父类的属性私有化,子类不能直接获取
  14.         private String name ;
  15.         private int age;
  16.         Fu(){
  17.                 System.out.println("Fu类空参数构造函数");
  18.         }
  19.         Fu(String name,int age){
  20.                 this.name = name;
  21.                 this.age = age;
  22.                 System.out.println("Fu类带参数构造函数");
  23.         }
  24. }
  25. class Zi extends Fu
  26. {
  27.         private String schoolCode ;

  28.         Zi(String name,int age,String schoolCode){
  29.                 //通过super来指定调用父类对应的构造函数
  30.                 super(name,age);
  31.                 this.schoolCode = schoolCode;
  32.                 //创建子类对象时,子类获得了属性
  33.                 System.out.println(name+"----"+age+"----"+schoolCode);
  34.         }
  35. }
复制代码

作者: liwugang    时间: 2014-8-11 15:11
你这是获取的父类的吗?
作者: ❤如止水之絕境    时间: 2014-8-11 20:42
属性与方法是不一样的.你这是想说,在子类中执行父类方法,或者说初始化父类数据吧




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