java多态的简单问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 05:08:47
最后 steven.accption(121,ek,we,1,9,9);//ek 和we 会报错,变量我申明的是String啊 谢谢@~!~!~

class Emp{
int empId;
String name;
String add;
public void accption(int e,String n,String ad ){
empId=e;
name=n;
add=ad;

}
public void print(){
System.out.println("The name is "+name);
System.out.println("The name is"+name);
System.out.println("ThE Add is"+add);
}

}
class PTEmployee extends Emp{
int nohw;
int rate;
public void accption(int e,String n,String ad,int h,int r){
empId=e;
name=n;
add=ad;
nohw=h;
rate=r;
}
public void print(){
System.out.println("The name is "+name);
System.out.println("The name is"+name);
System.out.println("ThE ADD IS "+add);
System.out.println("ThE working hours IS "+nohw);
System.out.println("T

你在main方法里没有定义ek和we 这样两个变量啊~~ 换成"ek" 和"we" 就行啦

steven.accption(121,ek,we,1,9,9);//改成
steven.accption(121,"ek","we",1,9,9);
/******************/
还有最重要的一点,你写的代码不叫多态,只能叫重载了父类的方法,向你这样写,即使向我刚才那样改了,还是会报错的,父类中没有定义的方法没有那么多参数
/****************/
多态代码:
class Emp{
int empId;
String name;
String add;
public void accption(int e,String n,String ad ){//父类方法
empId=e;
name=n;
add=ad;

}
public void print(){
System.out.println("The name is "+name);
System.out.println("The name is"+name);
System.out.println("ThE Add is"+add);
}

}
class PTEmployee extends Emp{
int nohw;
int rate;
public void accption(int e,String n,String ad){//子类重写父类的方法
empId=e;
name=n;
add=ad;
System.out.println("子类Emp():");

}