java中的对象转型

对象的类型转换是我们在编程的时候经常会遇到的,java平台也是如此,比如一些基本类型的数据转型和复合数据的转换。

 

1. java语言中主要分为向上转型和向下转型,如何来了解和掌握这两者转型的关系呢?要想熟练掌握掌握这两种转型的方法以及它们容易出错的地方和容易让人误解的地方。首先我们先来举个例子,相信大家看完以后就会明白了。

 

   比如说我们的现实的世界中有动物、猫科动物、老虎这三样东西,它们三者都有什么样的关系呢?如果用面向对象的思维来考虑的话,老虎是子类,猫科动物是老虎的父类。老虎对象就是猫科动物的对象,在这里要特别说明的一点就是:老虎是猫科动物的一个对象,那么猫科动物所具有的特征老虎都有,(用面向对象来说就是有相同的属性和行为),这种方法就是向上转型(通常也叫隐式转型)。如果是这样转型的话是没有问题的,我们人的正常思维也是正确的,编译器在编译的时候也不会报错的。但是在工作中我们经常会遇到向下转型的情况,但是这种向下转型时候编译器往往会报错,如果说猫科动物是老虎的话,这里应该是一个否命题(至少目前为止)在面向对象的世界里面,越是具体的东西它所具有的特征就越多,而月抽象的东西他的特性就越少,只是抽象了一些共性的东西。要确保对象向下转型的时候即编译器不会报错,又要确保具体的对象在抽象对象中也有,在这里,我们需要采用java的关键字来判断一下,instanceo,我们可以利用这个操作符来判断一个类是否实现了一个接口或者是一个类的子类。老虎 instanceo 猫科动物,它返回的是一个布尔值。如果返回true的话说明该对象是某个类的实例,false是反之。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值