A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 嘿~~ 中级黑马   /  2014-8-11 15:00  /  1297 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 嘿~~ 于 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. }
复制代码

2 个回复

倒序浏览
你这是获取的父类的吗?
回复 使用道具 举报
属性与方法是不一样的.你这是想说,在子类中执行父类方法,或者说初始化父类数据吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马