黑马程序员技术交流社区

标题: 怎么给子类赋初始化值? [打印本页]

作者: mono    时间: 2015-4-7 21:03
标题: 怎么给子类赋初始化值?
本帖最后由 mono 于 2015-4-14 16:37 编辑

看了视频跟老师敲了一遍代码可是不知道怎么在主函数初始化Manager类的值,求帮忙;

  1. class Employee
  2. {
  3.         private String name;
  4.         private String id;
  5.         private double pay;
  6.         Employee(String name,String id,double pay)
  7.         {
  8.                 this.name=name;
  9.                 this.id=id;
  10.                 this.pay=pay;
  11.         }
  12.         public abstract void work();
  13. }
  14. class Mannager extends Employee
  15. {
  16.         private int bonus;
  17.         Mannager(String name,String id,double pay,int bonus)
  18.         {
  19.                 super(name,id,pay);
  20.                 this.bonus=bonus;
  21.         }
  22.                 public void work()
  23.                 {
  24.                                 System.out.println("manager work");
  25.                 }

  26.         

  27. }


  28. class Demo
  29. {
  30.         public static void main(String[] args)
  31.         {
  32.                 /*如何为Mannager定义初始化值并打印?*/
  33.         }
  34. }
复制代码

作者: 小小的黑马    时间: 2015-4-7 21:36
class Demo
{
        public static void main(String[] args)
        {
                /*如何为Mannager定义初始化值并打印?*/
                Mannager m = new Mannager();
                m.setName("sdf");
                m.setId("dsf");
                m.setPay();
                m.mathod();
                m.show();
                m.work();
               
               
        }
}
class Employee
{
        private String name;
        private String id;
        private double pay;
        Employee(String name,String id,double pay)
        {
                this.name=name;
                this.id=id;
                this.pay=pay;
        }
        public void setName(String name)
        {
                this.name = name;
        }
        public String getName(){
                return name;
        }
        public void setPay(double pay)
        {
                this.pay = pay;
        }
        public String getPay(){
                return pay;
        }
        public void setId(String id)
        {
                this.id = id;
        }
        public String getId(){
                return id;
        }
        public void mathod()
        {
                System.out.println(name+id+pay);
        }

        public abstract void work();
}
class Mannager extends Employee
{
        private int bonus;
        Mannager(String name,String id,double pay)
        {
                super(name,id,pay);
        }
        public int show(int bouns){
                return bouns;
        }
           public void work()
             {
                 System.out.println("manager work");
             }
       
        

}   你试试这样行不,我只会这样做
作者: luomolight    时间: 2015-4-7 21:45
class Demo
{
        public static void main(String[] args)
        {
                /*如何为Mannager定义初始化值并打印?*/   //(你应该用单行注释)
                Mannage m = new Mannage( "name" , "ID" , 1.0 , 1 );//为啥你工资是double,奖金就是int了
        }
}
作者: luomolight    时间: 2015-4-7 21:49
因为父类和子类你都没写可以输出成员变量的方法,所以无法打印
作者: mono    时间: 2015-4-8 10:59
小小的黑马 发表于 2015-4-7 21:36
class Demo
{
        public static void main(String[] args)

    谢  了、
作者: shw16888    时间: 2015-4-8 11:04
:P来学习下

作者: 隔壁的王叔叔    时间: 2015-4-8 14:35
这个初始化 有点复杂吧~
作者: showdy    时间: 2015-4-8 21:04
有点复杂,学习下
作者: 郝聚德    时间: 2015-4-8 21:18
过来学习下
作者: 小小的黑马    时间: 2015-4-8 21:28
没事儿!!!!!!!!!!!!!!!!




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