免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4738 | 回复: 2
打印 上一主题 下一主题

java中写子类的构造函数时是否可以初始化父类的成员变量 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-20 10:30 |只看该作者 |倒序浏览
如题:
顺便贴出我原程序,我是菜鸟,请大家指教指教我的程序有没有问题

/**定义父类**/
public class Employee
{
  
  /**定义成员变量**/
  private int    employNum;
  private String name;         //采用private对变量封装,只有Employee的方法能访问该变量;
  private String sex;
  private int    age;
  private int   hireDate;
  private int   dateOfBirth;
  private float  salary;
  
  /**定义方法**/
  public void employee()      //定义构造方法;
        {
      employNum=0;
          name="liutao";
      sex="male";
        }
  
  public void employee(int emNum,String name,char sex )       //定义不同的构造方法;
        {
     employNum=emNum;
         name=name;
         sex=sex;
    }
  
  public void printInfo(String name)     //在printInfo方法中提供对成员变量的访问,同时该方法采用public,因此该方法可以在外部使用.
   {
    this.name=name;
        System.out.println(this.name);           //这个name是否是Employee的成员变量;
   }
  
  public String getDetails()
        {
     return "Name:"+name+"\nSalary:"+salary;
    }
}

/**定义子类**/
import java.*;

public class Manager extends Employee{  //子类继承父类;
        private String department;          //定义子类的成员变量;
       
        public void manager                   //定义子类的构造函数
        {
          //在这里我想使用父类中的成员变量来作初始化是否可以???
        }
        public String getDetails()
        {
          return super.getDetails()+"\nDepartment:"+department;
        }
       
        public static void main(String args[]){
                Manager ceo=new Manager();     //用子类创建一个对象实例;
                String name="liutao";
                /**ceo.name="liutao"           --error--(由于name变量在父类Employee中被定义为private,不能在外部直接引用;因此只能通过父类的成员方法printInfo()调用**/
                ceo.printInfo(name);
               
               
    }
}

论坛徽章:
0
2 [报告]
发表于 2006-04-20 15:22 |只看该作者
这种情况下,变量大多应改为protected,而且,你得printInfo为什么要改变name?或者你可以这样,用get方法取得父类的变量,然后作相应的操作!

论坛徽章:
0
3 [报告]
发表于 2006-04-20 16:36 |只看该作者
public Manager(int no,String name,char sex)
{
    super(no,name,sex);
}

ok
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP