黑马程序员技术交流社区
标题:
那位大神看看为什么报这样的错
[打印本页]
作者:
行进中的蜗牛
时间:
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