黑马程序员技术交流社区

标题: 那位大神看看为什么报这样的错 [打印本页]

作者: 行进中的蜗牛    时间: 2014-9-14 17:52
标题: 那位大神看看为什么报这样的错

//抽象父类
abstract class Employme
{
        private String name;
        private String id;
        private double pay;
        Employme(String name,String id,double pay){
                this.name=name;
                this.id=id;
                this.pay=pay;
                System.out.println(name+"\n"+id+"\n"+pay);
        }
        //get和set方法
        public String get(){
                return name;
        }
        public void setId(String id){
                this.id=id;
        }
        public String getId(){
                return id;
        }
        public void setPay(double pay){
                this.pay=pay;
        }
        public double getPay(){
                return pay;
        }
        public abstract void work();
}
//子类对象
class Manager extends Employme
{       
        private double bonus;
//报错点
        super(String name,String id,double pay,double bonus);
       
        public void work(){
                System.out.println("management"+bonus);
        }
}
//子类
class Programmer extends Employme
{
//报错点
        super(String name,String id,double pay);

        public void work(){
                System.out.println("工作");
        }
}
//主函数
class Company
{
        public static void main(String[] args)
        {
                String name="如花";
                String id="$_9536";
                double pay=12304;
                double bonus=1234;
                Employme p=new Programmer(name,id,pay);
                print(p);
                Employme p1=new Manager(name,id,pay,bonus);
                print(p1);
        }
        public static void print(Employme p){
                p.work();
        }
}
报错:---------- javac ----------
Company.java:40: 错误: 非法的类型开始
        super(String name,String id,double pay,double bonus);
        ^
Company.java:48: 错误: 非法的类型开始
        super(String name,String id,double pay);
        ^
2 个错误


作者: T-l-H、小生    时间: 2014-9-14 18:18
在子类用super继承父类的属性时候,super括号里面无需加数据类型。。。把super(String name,String id,double pay,double bonus);改为super(name,id,pay)即可
作者: 行进中的蜗牛    时间: 2014-9-14 18:25
哦,试过了,好像还不行
作者: T-l-H、小生    时间: 2014-9-14 18:42
行进中的蜗牛 发表于 2014-9-14 18:25
哦,试过了,好像还不行

你要在构造里面改啊。。
这样
Programmer(String name, String id, double pay) {
                super(name, id, pay);
               
        }
作者: 行进中的蜗牛    时间: 2014-9-14 18:45
哦,谢谢




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