java中继承关系学习小结
来源:互联网 发布:python new 单例 编辑:程序博客网 时间:2024/05/21 20:31
继承:把多个类中相同的内容提取出来,定义到一个类中,其他类只需要继承该类,就可以使用该类公开的属性和公开的方法。
继承的好处:提高代码的复用性。提高代码的可维护性。让类与类之间产生关系,是多态存在的一个前提。
继承的弊端:提高了类与类之间的耦合性。
开发的原则:低耦合,高内聚
耦合:类与类之间的关系
内聚:自己单独完成某件事情的能力。
在Java中只允许单继承。一个类如果没有显示的继承其他类,则该类的默认父类为Object类。Object类是所有类的父类。
Java支持多层继承。
父类的公开方法可以访问父类的私有方法和私有成员。
子类只能继承父类所有非私有的成员(成员方法和成员变量)。
子类不能继承父类的构造方法,但是可以通过super()关键字去访问父类的构造方法。
不要为了部分功能而去继承。
什么时候考虑采用继承?
继承体现的是is-a的关系。
采用假设法:有两个类A和B,如果A是B的一种具体体现,或者B是A的一种具体体现时,就可以采用继承。
继承中,成员变量的关系:子父类中各定义了一个同名成员变量时,子类中的成员变量会覆盖父类中的成员变量。在子类中可以通过super来调用父类中的同名变量。
在子类方法中访问一个变量的查找顺序:
a:在子类的对应的局部范围内查找,有就是用
b:在子类的成员范围内查找,有就是用。
c:在父类的成员范围内查找,有就是用。
如果都没有找到,则报错。
在一个类中,方法与方法之间是平级关系,方法之间不能访问对方的局部变量。
super和this的区别:
this代表本类对象的引用
super代表父类存储空间的标示,相当于父类的引用。
this和super都可以访问构造方法、成员变量和成员方法。
继承间构造方法之间的关系。
子类所有的构造方法默认都会去访问父类的无参构造方法。
因为子类会继承父类中的数据,可能会用到父类中的数据,所以在子类初始化之前,一定要完成父类的初始化。
每一个构造方法的第一条语句默认都是:super
如何父类中没有构造方法,该怎么办呢?
子类通过super去显示调用父类其他的带参的构造方法
子类通过this去调用本类的其他构造方法,本类其他构造也必须首先访问了父类构造
一定要注意:
super(…)或者this(….)必须出现在第一条语句上,否则,就会有父类数据的多次初始化
继承间成员方法的关系
子父类中各定义了一个同名成员方法时,子类中的成员方法会覆盖父类中的成员方法。在子类中可以通过super来调用父类中的同名方法。
通过子类对象去访问一个方法的查找顺序:
a:在子类中查找,如果找到就调用
b:在父类中查找,如果找到就调用
如果都没有找到,就报错。不会查找父类的父类……
- java中继承关系学习小结
- Java继承学习小结
- java中继承关系总结
- 学习JAVA继承关系很好的例子
- Java中继承关系的实例分析
- java 继承关系中-执行顺序测试
- java 继承关系中-执行顺序测试
- java学习日记_35:面向对象之从例子中理解继承关系
- java学习日记_36:面向对象之继承中构造方法的关系
- JAVA继承知识小结
- java中的继承关系
- java基础-继承关系
- java中的继承关系
- JAVA的继承关系
- java继承关系
- java继承关系
- java继承关系
- java集合继承关系
- Discuz设置特定用户组不启用验证码发帖权限
- 学生信息管理系统(第一次.....)
- linux同步代码到github代码托管仓库
- 查看笔记本电脑的内存插槽使用情况
- Kinect v2.0原理介绍之四:人脸跟踪探讨
- java中继承关系学习小结
- 终于把JAVA的SM2算法搞出来了!!!!!!!!!!!!!!!!!!!!!
- 开发中题目太长怎样实现把鼠标放上去就浮动看全标题
- ZOJ-3822-Domination【概率dp】【2014牡丹江赛区】
- java_小技巧札记
- [Effective Java]第六章 枚举和注解
- leetcode系列(18)Summary Ranges
- 使用轻量级ORM Dapper进行增删改查
- 关于启用php_curl.dll后PHP Warning: PHP Startup: in Unknown on line 0之烦恼~~