上转型对象问题,求java高手解答
发布网友
发布时间:2022-09-09 16:47
我来回答
共2个回答
热心网友
时间:2024-12-05 11:56
向上转型,是指父类引用执行子类对象,上述示例中
sp=sc;sp是父类引用,sc是子类对象,因为 子类 is a 父类的关系,因此可以直接赋值
但向上转型有特殊之处,就是转型后的父类对象可以访问父类所有非私有成员和子类重写父类后的成员,但无法访问子类的特有成员
因此 sp.out()可以,因为调用的是父类公共成员
sc.out(3)也可以,因为sc是子类引用指向子类对象,可以访问自己的成员
sp.out(2)却不可以,因为带参数的out方法是子类特有成员,父类中没有,因此无法使用父类引用调用子类特有成员
热心网友
时间:2024-12-05 11:56
语句,要写到方法之内 、或语句块之内
import java.util.*;
public class Company {
public static void main(String []aaaaaa){
double sum,a;
Scanner sc=new Scanner(System.in);
Employee t1=new YearWorker();
Employee t2=new MonthWorker();
Employee t3=new WeekWorker();------------此处出错
a=t1.earnings();
sum=t1.earnings()+t2.earnings()+t3.earnings();
System.out.println("该公司一年应付工资:"+sum+"元。");
}
}