最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

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

互联网 admin 2浏览 0评论

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

                                            父类对象变成子类对象

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

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


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 stubmanager 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父类对象,在转换成子类对象。系统会报错。

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

                                            父类对象变成子类对象

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

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


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 stubmanager 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父类对象,在转换成子类对象。系统会报错。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论