黑马程序员技术交流社区

标题: 关于视频中抽象的员工建模问题,一直编译不通过.... [打印本页]

作者: 吴玉辉    时间: 2012-3-29 21:02
标题: 关于视频中抽象的员工建模问题,一直编译不通过....
abstract class Employee
{
        private String name;
        private String id;
        private double pay;

        void Employee(String name,String id,double pay)
        {
                this.name=name;
                this.id=id;
                this.pay=pay;
        }

        public abstract void work();
}

class Manger extends Employee
{
        private int bonus;
        public void Manager(String name,String id,double pay,int bonus)
        {
                super(name,id,pay);
                this.bonus=bonus;
        }
        public void work()
        {
                System.out.println("manager work");
        }
}
class General extends Employee
{
        public void General(String name,String id,double pay)
        {
                super(name,id,pay);
        }
        public void work()
        {
                System.out.println("General work");
        }
}
class  AbstractTest
{
        public static void main(String[] args)
        {
                General g = new General("zhangsan","9959gy",15895.89);
                g.work();
        }
}
总是提示super语句位置不对,还有对象的参数列表不符合...请大家帮看下代码哪里有问题

作者: 龚龙    时间: 2012-3-29 21:14
本帖最后由 龚龙 于 2012-3-29 21:17 编辑

哥们,构造函数是不带返回值类型的!...............!  


  public Employee(String name2, String id2, double pay2) {
                this.name=name;
                this.id=id;
                this.pay=pay;
                }


  public  Manger(String name,String id,double pay,int bonus)
        {
                super(name,id,pay);
                this.bonus=bonus;
        }
作者: 许飞翔    时间: 2012-3-29 21:43
abstract class Employee
{
        private String name;
        private String id;
        private double pay;

        //void Employee(String name,String id,double pay)
//无法将类 Employee中的构造器 Employee应用到给定类型;这里也得用构造函数
Employee(String name,String id,double pay)
        {
                this.name=name;
                this.id=id;
                this.pay=pay;
        }

        public abstract void work();
}

class Manger extends Employee
{
        private int bonus;
        //public void Manager(String name,String id,double pay,int bonus)

//对super的调用必须是构造器中的第一个语句
//所以你这要用构造函数
Manger(String name,String id,double pay,int bonus)

        {
                super(name,id,pay);
                this.bonus=bonus;
        }
        public void work()
        {
                System.out.println("manager work");
        }
}
class General extends Employee
{
      //  public void General(String name,String id,double pay)
General(String name,String id,double pay)// 这里也用构造函数

        {
                super(name,id,pay);
        }
        public void work()
        {
                System.out.println("General work");
        }
}
class  AbstractTest
{
        public static void main(String[] args)
        {
                General g = new General("zhangsan","9959gy",15895.89);
                g.work();
        }
}


作者: 吴玉辉    时间: 2012-3-29 22:22
呵呵,谢谢,头昏了,这都没看到~




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