java 的继承原理

来源:互联网 发布:好的交友软件 编辑:程序博客网 时间:2024/06/06 17:07

 继承和组合是面向对象中代码复用的主要实现方式,他们可以达到类似的效果,就是提高代码的复用。

    组合很简单也很直观,就是在一个类中直接引用另一个类,然后调用引用类的一些方法来完成一些功能,适合领域模型中has-a关系的实现;而继承则适合领域模型中is-a关系的实现。

      其实在Java内部,是通过隐式的组合来实现继承的。 子类对象中会保存一个实例对象的引用super,该引用指向其父类。 在实际的方法调用时,java会先在当前类的对象中寻找名称相同的方法,如果没有,就到super引用的父类对象中去寻找该方法,所以,若在子类中存在和父类方法的签名和返回值类型完全相同的方法(重写)的话,java就会直接调用该对象的方法而不用去父类去寻找调用方法了。而且在子类对象中,可以直接通过super来调用父类对象中的方法。s


左边是栈空间,右边是堆空间,栈空间的变量t储存着一个指向堆空间某个对象的地址

原创粉丝点击