java中父类对象指向子类对象

xiaoxiao2025-09-15  173

                                            父类对象变成子类对象

在父类对象与子类对象转换在工厂模式中常用。

先看看子类父类互转的例子。

public class employee { private String name; private double salery; public String getName() { return name; } public void setName(String name) { this.name = name; } public double getSalery() { return salery; } public void setSalery(double salery) { this.salery = salery; } public employee( String name,double salery) { this.name=name; this.salery=salery; } public double raisesalery(double raise) { salery+=raise; return salery; } }

 

package MM; public class manager extends employee{ private double bones; public double getBones() { return bones; } public void setBones(double bones) { this.bones = bones; } public manager(String name,double d,double bones) { super(name,d); this.bones=bones; } }

 

package MM; public class test { public static void main(String[] args) { // TODO Auto-generated method stub manager boss=new manager("lyc", 29, 10); //定义子类对象 employee staff[]=new employee[3]; staff[0]=boss; //子类对象变成父类对象 manager m =(manager)staff[0]; //父类对象变成子类对象 System.out.println(m.getBones()); //访问成功 employee ss=new employee("dsad", 12289); //定义父类对象 manager ll=(manager)ss; //父类对象变成子类对象 System.out.println(ll.getName()); //访问失败 } }

运行结果:

注意:

先new子类对象,在转换成父类对象可以通过父类对象访问对应的方法。转换回来之后也能访问子类特有的方法。

但是如果先new父类对象,在转换成子类对象。系统会报错。

转载请注明原文地址: https://www.6miu.com/read-5036373.html

最新回复(0)