栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中父类和子类之间的转换操作示例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中父类和子类之间的转换操作示例

本文实例讲述了Java中父类和子类之间的转换操作。分享给大家供大家参考,具体如下:

一、父类引用强转成为子类引用 
package learn20180720;
 
public class People {
 
 private String name;
 private Integer age;
 private Double height;
 
 public People(){
 this.name = "";
 this.age = 0 ;
 this.height = 0.0;
 }
 
 public People(String name, Integer age, Double height) {
 super();
 this.name = name;
 this.age = age;
 this.height = height;
 }
 
 public String getName() {
 return name;
 }
 
 public void setName(String name) {
 this.name = name;
 }
 
 public Integer getAge() {
 return age;
 }
 
 public void setAge(Integer age) {
 this.age = age;
 }
 
 public Double getHeight() {
 return height;
 }
 
 public void setHeight(Double height) {
 this.height = height;
 }
 
 public void tellObjectName(People p) {
 System.err.println(p.name);
 }
 
 public void sayInformation() {
 System.err.println("我的名字叫做:"+this.name+"我的年龄是:"+this.age+"我的身高是"+this.height);
 }
}

package learn20180720;
public class Chinese extends People{
 
 private String country;
 
 public Chinese(){
 super();
 country = "";
 }
 
 public Chinese(String aname,Integer aage,Double aheight) {
 super(aname,aage,aheight);
 this.country = "中国";
 }
 
 public String getCountry() {
 return country;
 }
 
 public void setCountry(String country) {
 this.country = country;
 }
 
 
 public void sayInformation() {
 // TODO Auto-generated method stub
 System.err.println("我的名字叫做:"+this.getName()+"  我的年龄是:"+this.getAge()+"  我的身高是:"+this.getHeight()+"  我的国家是:"+this.country);
 }
}

package learn20180720;
public class TestPeCh {
 
 public static void main(String[] args) {
 // TODO Auto-generated method stub
 People p1 = new Chinese();
 
 Chinese c1 = (Chinese)p1;
 
 }
}

可以看到,p1无法访问子类中的特有的方法(父类引用可以访问子类中重写父类中的方法),但是强转成为子类类型的引用c1之后,c1就可以访问子类中所有的方法啦。

二、父类不可以强转成为子类
package learn20180720;
public class TestPeCh {
 
 public static void main(String[] args) {
 // TODO Auto-generated method stub
 People p1 = new People();
 
 Chinese c1 = (Chinese)p1;
 
 }
}

报错了!

更多关于java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/134119.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号