java的继承原理与实现方法详解

  

本文实例讲述了java的继承原理与实现方法。分享给大家供大家参考,具体如下:

  

  

<强> 1. java中是单继承的强。每个子类只有一个父类。

  

语法:子类扩展父类

  

<强> 2。在java中,即使没有声明父类,也有一个隐含的父类,就是对象类

  

<强> 3。在子类中可以使用超级来调用父类的方法

  

<>强4。继承中的构造方法问题

  

在新的一个子类实例的过程中,会优先自动调用父类默认的无参数构造方法,然后再调用子类的构造方法。如果父类没有默认的构造方法,只有带参数的构造方法,此时就会出错。

  

除了由jvm自动调用父类默认的构造方法外,子类还可以可以通过超级方法调用父类的构造方法,尤其是当父类没有默认的构造方法,只有带参数的构造方法的情况下,那么在子类中必须使用超级的方式调用父类带参数的构造方法。

  

<强> 5。动态绑定和静态绑定

  

java的动态绑定和静态绑定

  

<强> 6。父子类型转换

  

向上类型转换:父类型的引用指向子类型的实例

        孩子c=new ();   父母p=c;      之前      

向下类型转换:在java中使用强制转换的方式实现向下类型转换,即父类型的变量可以赋值给子类型的变量,但是不一定每次向下类型转换都会成功,这取决于这个父类变量的动态类型(即引用的对象类型)是不是这个子类或者是这个子类的子类。

        公共类绑定{   公共静态void main (String [] args) {//成功   父母p=新的子();   孩子c=p(孩子);//失败   父母p1=new父();   c1=孩子(孩子)p1;   }   }      之前      

结果:   

  

异常的线程“主要”父母构造函数
  孩子构造函数
  父母构造函数
  爪哇. 朗。ClassCastException:实践。父母不能练习。孩子
  ,,,,,,在practice.Bind.main (Bind.java: 13)

     

<强> 7。可见性重写

  

重写方法时,一般并不会修改方法的可见性。但是如果修改方法可见性的时候,那么重写时,子类的方法不能降低父类方法的可见性:如果父类中方法为公共的,那么子类中的方法也必须为公共的;如果父类中的方法为保护的,那么子类中的方法可以为保护,也可以为公共的。

  

这是因为在java中继承是“是一个”的关系,即子类对象也属于父类。子类必须支持父类所有对外的行为。

  

<强> 8。使用最后修饰的方式避免继承

  

最后修饰类,表示该类不能被继承;最后修饰非最终中的方法,表示该方法不能在子类中被重写。

  

<强> 9。继承的优劣势

  

好处:实现代码复用,公共属性和方法放在父类中,子类只需要关注子类特有的就可以了。

  

不同子类的对象可以更方便地被统一处理(这里也有多态特性)。

  

缺点:继承破坏封装

  

如何避免使用继承?

  

(1)使用最后的关键字

  

(2)优先使用组合而非继承

  

(3)使用接口

  

更多的java相关内容感兴趣的读者可查看本站专题:《java面向对象程序设计入门与进阶教程》、《java数据结构与算法教程》、《java操作DOM节点技巧总结》,《java文件与目录操作技巧汇总》和《java缓存操作技巧汇总》

  

希望本文所述对大家java程序设计有所帮助。

java的继承原理与实现方法详解