黑马程序员技术交流社区

标题: 学习到面向懵逼了。。。。 [打印本页]

作者: 饭要大口吃    时间: 2016-9-23 23:52
标题: 学习到面向懵逼了。。。。

今天学的是继承,抽象还有接口三个部分。

继承部分直接懵逼了。。。

比如这个。。。

什么是向上转型,什么是向下转型??
答案是:
向上:
把小的数据类型转换成大的数据类型 ,把子类对象给了父类的引用,不报错
向下:
把一个大的数据类型给一个小的数据类型.(前提是这个花爹必须本来就是花木兰)
这个花爹的本身是花木兰, 但是父类花爹指向子类对象花木兰
花木兰  hua = (花木兰) 花爹();

虽然有答案,但是看了还是懵逼。。。谁能通俗一点解释一下。。。。


作者: 疯狂的麦克斯    时间: 2016-9-24 00:08
大体应该是这样吧。。。
向上转型和向下转型其实就是多态,
比如猫和动物分别是两个类,猫是动物的子类class Cat extends Animal
因此,你可以描述这个猫有两种形态,你可以描述这个猫为动物或者猫,即多态
向上转型,就是父类引用指向子类对象,Animal a= new Cat();将猫提升为动物,这是自动提升
向下转型,就是将动物转为猫,需要强制转换Cat c =(Cat) new Animal();
作者: 饭要大口吃    时间: 2016-9-24 11:09
疯狂的麦克斯 发表于 2016-9-24 00:08
大体应该是这样吧。。。
向上转型和向下转型其实就是多态,
比如猫和动物分别是两个类,猫是动物 ...

  老哥你的30分技术分是怎么来的哦。。。。{:2_31:}
作者: 疯狂的麦克斯    时间: 2016-9-25 18:51
饭要大口吃 发表于 2016-9-24 11:09
老哥你的30分技术分是怎么来的哦。。。。

一点一点。。。。。一点一点,,,向前迈进。。。总会到的。。哈哈
作者: zhangfengg    时间: 2016-9-25 19:35
就像是当官啊,先开始慢慢升,不需要对外声明什么,自己默默苦干就好,但是升上去了,突然一天你领导要撸你,是不是得找个借口对外声明一下,这个能理解不?
作者: 马文丽    时间: 2016-9-25 19:52
就跟变量强制转换一个道理,比如:int a, byte c = (byte) a;这就是向下转型 ,只是把基本数据类型变成了引用数据类型
作者: 饭要大口吃    时间: 2016-9-25 20:45
疯狂的麦克斯 发表于 2016-9-25 18:51
一点一点。。。。。一点一点,,,向前迈进。。。总会到的。。哈哈

我只有黑马币。。黑马币怎么换技术分呢。。。。。。
作者: LoneRan9er    时间: 2016-9-25 21:01
java的面向对象是非常博大精深的
研究java两三年之后会感觉到面向对象的伟大
作者: 喝咖啡的玉米    时间: 2016-9-25 21:03
同样蒙蔽,不知道怎么办
作者: 饭要大口吃    时间: 2016-9-25 21:07
喝咖啡的玉米 发表于 2016-9-25 21:03
同样蒙蔽,不知道怎么办

一起努力吧,
我们指导老师让我们把视频中每一个demo都敲一下,
直到自己会为止。
作者: 胡小胡小胡    时间: 2016-9-25 21:24
慢慢的学到后面就会简单的!!加油
作者: 面向懵逼    时间: 2016-9-25 21:28
这就非常尴尬了
作者: 饭要大口吃    时间: 2016-9-25 21:48
面向懵逼 发表于 2016-9-25 21:28
这就非常尴尬了

  不尴尬不尴尬~~~
作者: f418032960    时间: 2016-9-25 22:47
同样很萌币,话说其实还挺好理解的,比如像上面那位大哥说的 向上转型 就比如 猫是动物类 狗是动物类的 但如果你把动物说成是猫,狗就有问题了,因为动物有很多种. 向下转型 就跟 强制类型转换一样. 你不能把桶放到碗里面一样.
作者: 小坏孩    时间: 2016-9-25 22:52
在家学的???还是在这儿上的基础班?
作者: xianghui0521    时间: 2016-9-25 23:06
只好能把 基础视频 看一遍 再学 , 这样会轻松一点. 然后 多敲.
面向对象  慢慢理解.   




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2