JAVA继承问题

[复制链接]
查看11 | 回复3 | 2009-1-5 22:20:05 | 显示全部楼层 |阅读模式
abstract class Employee{
String name,basic,adress;
Employee(){}
Employee(String name1,String basic1,String adress1){

name = name1;

basic = basic1;

adress = adress1;
}

void show(){

System.out.println("Name:"+name);

System.out.println("Basic:"+basic);

System.out.println("Adress:"+adress);
}
}
class Manager extends Employee{
String department;
Manager(){}
Manager(Sring name1,Strng basic1,String adress1,String department1){

super(name,basic,adress);

department = department1;
}

void show(){

super.show();

System.out.println("Department:"+department+"\n经理信息");
}
}
class Director extends Employee{
String transportAllowance;
Director(){}
Director(String name1,String basic1,String adress1,String transportAllowance1){

super(name,basic,adress);

transportAllowance = transportAllowance1;
}

void show(){

super.show();

System.out.println("TransportAllowance:"+transportAllowance+"\n员工信息");
}
}
public class EmployeeTest{
public static void main(){

Manager jingli = new Manager("IBM","CEO","湖北荆州","111");

Director yuangong = new Director("MS:","CHO","湖北荆沙","222");

jingli.show();

yuangong.show();
}
}
代码的20行的 Sring 和 Strng 已经更正为 String了- -
EmployeeTestjava:21:无法在调用父类型构造函数之前引用 name
super(name,basic,adress);
一共有6处- -也就是 Manager 和 Director 用 super调用父类型的变量都没办法成功- -不知道哪里出错了

回复

使用道具 举报

千问 | 2009-1-5 22:20:05 | 显示全部楼层
在子类中,要调用父类的构造方法,用super加上参数是正确的,但是在进行参数传值的时候,应该用子类自己的参数,而不是直接抄来父类的方法。应该注意方法的调用时参数的写法,以及应该用哪个参数。这句话:super(name,basic,adress); 应该是:super(name1,basic1,adress1); 这样才是对的。...
回复

使用道具 举报

千问 | 2009-1-5 22:20:05 | 显示全部楼层
super(name,basic,adress); 应该改为super(name1,basic1,adress1); 这句话是调用父类的有参构造函数,并不是调用父类型的变量...
回复

使用道具 举报

千问 | 2009-1-5 22:20:05 | 显示全部楼层
"Name:IBM"; "Basic:CEO"; "Adress:湖北荆州"; "Department:111经理信息"; "Name:MS"; "Basic:CHO"; "Adress:湖北荆州"; "TransportAllowance:222员工信息";...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行