Java继承并非是简单的代码复制
来源:互联网 发布:一对一私聊软件 编辑:程序博客网 时间:2024/05/18 00:50
继承是软件复用的一个关键,但是继承并非是简单的代码复制:即类A继承了类B,并不只是类A有了类B的代码。因为java是可以向上转型的,即B=new A()是合法的,而若有另一个类C,也从B继承,下面这行代码将报错:B=new C()。更加具体的代码如下所示:
public class TestFactory
{
public static void main(String args[])
{
SuperClass supe=new SubClass2();
supe.printTest();
supe=new SubClass();
supe.printTest();
/********同级不能转型*******/
// SubClass sub=new SubClass2());
}
}
class SuperClass
{
public void printTest(){};
}
class SubClass extends SuperClass
{
@Override
public void printTest()
{
System.out.println("subclass!");
}
}
class SubClass2 extends SuperClass
{
@Override
public void printTest()
{
System.out.println("subclass2!");
}
}
由于上面三个类代码差不多,若继承机制只是简单的代码复制的话,注释部分不应该报错。这也许可以用Java编程思想中的观点解释:当类继承的时候,派生类里便拥有了一个基类对象。所以当向上转型的时候,派生类对象便隐藏自己的部分,剩下的就是继承得到的基类对象了,于是便可以顺利向上转型。而同类之间由于没有继承,所以彼此之间没有像上述的继承而来基类对象,所以无法转型,即若SubClass2里有一个SubClass对象的时候,就能顺利转型啦。所以说Java继承并非是简单的代码复制
- Java继承并非是简单的代码复制
- java例题学习:简单的继承代码小片段
- 并非所有的代码路径都返回值 是怎么原因?
- java是单继承的
- 大数据,最重要的并非是数据
- java简单的文件复制
- 简单的优化页面并非google排名
- 简单的Java继承示例!
- 并非所有的代码路径都返回值问题,返回值一般是放在循环语句里..
- 为什么Java中继承是有害的
- 为什么Java中继承是有害的
- 为什么Java中继承是有害的?
- java是不提供多继承的
- 继承简单代码实现
- 在拷贝(复制)代码前,应该确呆所复制的代码是正确的
- Java单例模式——并非看起来那么简单
- Java单例模式——并非看起来那么简单
- Java单例模式——并非看起来那么简单
- 开源UI效果
- TFS 代码 API
- UNIX环境C语言编程(16)-伪终端
- 定时器 / 画圆
- Android中Handler引起的内存泄露
- Java继承并非是简单的代码复制
- HttpURLConnection请求数据(GET)并用JSON解析数据(二)
- poj1328 区间贪心 雷达覆盖岛屿
- struts2+spring+hibernate整合步骤
- PAT1079 Total Sales of Supply Chain
- CSS的选择器
- yii2.0.0RESTFUL风格下自定义view操作返回的数据
- Servlet(四)操作数据库
- tomcat部署java web项目的过程