请高手用简单易懂的语言解释一下 java的向上转型

来源:百度知道 编辑:UC知道 时间:2024/05/19 22:45:51
看thinking in java 看到向上转型 没看懂哦,帮忙解释一下啊 谢谢!
最好能用简单的代码举例说明
streetpoet :
就是把子类的引用转成基类的引用是吗?
但是这么做有什么目的呢?
直接 建立一个基类的引用 再调用方法不好吗?

java提倡的是面向抽象变成,也就是你说的上型。这样也能起高复用度。例如有printPeople()的方法,需要的参数是People,people下有BlackPeople和WhiltePeople,这样你就不用管到底是实现的是BlackPeople还是WhiltePeople,只要知道这些都是People,就能使用printPeople()方法

类:杯子
子类:绿色的茶杯

我现在声明一个变量,绿色的茶杯 Object = new 绿色的茶杯();
((杯子)Object)).其中的水量();

明白了?简单吧?

就想数据库设计中的 主表的意思
抽象一个主要的东西出来
下面有各种个样的细化
但是 使用时候只需要知道 主要东西 就能调用到下面的各种细化的东西
就像 楼上说的样子

这么做好处就是 你想换一个 具体的实现东西 只需要改右边的实现,后面的代码完全不需要更改

就象 你突然想用塑料杯了 只要改一个地方就行了

“就是把子类的引用转成基类的引用是吗?
但是这么做有什么目的呢?
直接 建立一个基类的引用 再调用方法不好吗?”
楼主,这种问题是没法回答的。如果你想知道答案,你就去写个几万行代码,然后就知道了。