Java学习之 继承 的佛系总结
2018-02-25 17:16
141 查看
前言:每次学习面向对象语言的时候,继承、多态啥的都有点抽象,不能够深明其理,所以下面的语言会较为通俗一点,总结一下个人的一点愚见。
想想类似的类(比如猴子和猫头鹰),如果不使用继承,那么每个子类里面都含有类似的方法(吃,睡等等)或者属性(age,name等等),一个子类就要 写一遍,n个子类n遍,但是使用继承之后,类似的代码全都归属于父类,写一遍即可,子类只需要根据自身的特性增加相应的方法或者属性,如此很大程度的减少了代码重复。代码少了,维护起来自然也就简单了,看着都顺眼。
这个还是很明显的,既然存在继承,那么类之间的相互联系就不可避免,那么耦合度自然上升。
Java的继承是单继承,但不是说不能多继承,单继承使用extends关键字,多继承使用implements继承多个接口,逗号隔开。
父类的构造方法不被子类继承,调用父类构造方法的途径是使用super关键字
在继承关系中,调用方法或者类中的成员变量时,JVM会先检测当前的类(子类)是否含有该函数或者成员变量,如果有,则执行子类的,没有则执行父类的。这个用于解释一些方法的覆盖重写的时候,具体调用的是哪个类的方法或者属性。
另外附上一个关于讲解继承不错的链接:点击打开链接
暂时总结到的就这么多,如果以后还有收获的话,再来更新~随缘随缘
继承的好处
有效减少代码的冗余,提高代码的可维护性,代码简洁想想类似的类(比如猴子和猫头鹰),如果不使用继承,那么每个子类里面都含有类似的方法(吃,睡等等)或者属性(age,name等等),一个子类就要 写一遍,n个子类n遍,但是使用继承之后,类似的代码全都归属于父类,写一遍即可,子类只需要根据自身的特性增加相应的方法或者属性,如此很大程度的减少了代码重复。代码少了,维护起来自然也就简单了,看着都顺眼。
继承的缺点
增加了代码的耦合度这个还是很明显的,既然存在继承,那么类之间的相互联系就不可避免,那么耦合度自然上升。
要注意的点
子类拥有的是父类非private的属性和方法Java的继承是单继承,但不是说不能多继承,单继承使用extends关键字,多继承使用implements继承多个接口,逗号隔开。
父类的构造方法不被子类继承,调用父类构造方法的途径是使用super关键字
在继承关系中,调用方法或者类中的成员变量时,JVM会先检测当前的类(子类)是否含有该函数或者成员变量,如果有,则执行子类的,没有则执行父类的。这个用于解释一些方法的覆盖重写的时候,具体调用的是哪个类的方法或者属性。
另外附上一个关于讲解继承不错的链接:点击打开链接
暂时总结到的就这么多,如果以后还有收获的话,再来更新~随缘随缘
相关文章推荐
- java学习总结(16.06.10~16.06.17)面向对象的三大特征——封装、继承、多态
- Java学习总结之第五章 继承
- Java继承方法学习总结
- java学习总结五:继承中子父类的构造函数
- java基础学习总结——类与继承
- Java学习总结4——继承1(内部类的作用和用法)
- JAVA继承学习总结
- Java学习总结第十四天Java类的继承
- 黑马程序员-自己总结的java学习笔记(5)继承,接口,多态。
- JAVA学习笔记之-封装,继承,多态 总结
- java学习笔记(二)java继承特性总结
- java 学习总结(二) 类的接口、继承与多态
- java学习记录(四)继承与访问权限的学习与总结
- 学习总结1[java](final、继承和组合)
- Java构造函数的继承-Java 学习笔记 (14)
- 今天来总结一下在学习java一些重要内容(基本)
- java学习笔记5:对象继承upcasting
- JAVA学习总结之JAVA的安全性_数组(未完待续)
- Java中的String、StringBuffer和Math类--学习java语言及其网络应用总结
- Java 正则表达式学习总结和一些小例子