Made by Mike_Zhang
博客名称及其域名变更提醒:
我的个人博客名称已由 UltraFisher 改为 UltraFish.
相应的域名已由ultrafisher.github.io改为ultrafish.cn.
后续所有的更新将会在ultrafish.cn进行, 本网站将停止更新.
十分感谢您的浏览以及支持, 让我们在UltraFish再次相遇!Notification
The name of my personal blog has been changed from UltraFisher to UltraFish.
Its domain name has been changed from ultrafisher.github.io to ultrafish.cn.
ONLY ultrafish.cn will be updated, this website will NOT be updated.
Thank you very much for your browsing and support, see you on the UltraFish!
Mike_Zhang
2020/10/15
本文章用作记录我学习Java时碰到的一些重难点,文章会一直更新。
所有文章:
Java学习重难点记录1—byte数据类型在显式类型转换时超出其取值范围的转换过程
Java学习重难点记录2—面向对象编程(OOP)的继承性(Inheritance)
面向对象编程(OOP)的继承性(Inheritance)
面向对象编程(OOP)简单介绍
面向对象编程(Object Oriented Programming, OOP) 是一种计算机编程架构(一种编程方法). 它的核心在于把需要处理的问题进行建模, 即把问题抽象为对象(object). 对象被分成两个部分, 静态部分和动态部分. 静态部分指的是对象的属性, 以人举例, 属性包括人的身高、体重、年龄等特性. 动态部分指的是对象的行为或方法, 以人举例, 行为包括人的吃饭、睡觉、讲话等动作. 在某一方面具有相同特性的事物可以被归为同一类事物, 而 类(class) 就是这些同一类事物的统称, 比如说, 婴儿、青少年,、年轻人、老人等都属于人这一类, 鸡、鸭、猪等都是属于家禽这一类. 类是对某一类对象的抽象描述, 类封装了对象的属性和行为.
了解更多有关OOP的知识, 请参考百度百科—面向对象程序设计.
面向对象编程(OOP)具有以下三个特点:
封装性(Encapsulation)
继承性(Inheritance)
多态性(Polymorphism)
接下具体讲一下继承性(Inheritance)
继承性(Inheritance)
类的继承是OOP中非常重要的概念, 它的核心思想是扩展某一个父类, 得到一个子类. 子类继承类它的父类的属性和方法, 子类也可以有新的不同于父类的属性和方法, 也可以重写父类中的一些方法. 举例来说, 定义一个父类为三角形类, 而等边三角形类就是三角形类的子类, 子类拥有父类具有的属性和方法, 等边三角形子类也拥有父类不具有的属性和方法, 比如说等边三角形类的三边等长这一属性就是扩展三角形类的属性.
extends是Java中用来表明继承关系的关键字
以下为代码解释:
1 | class Triangle{ //定义父类 |
继承性(Inheritance)的注意事项
- 可以用super();语句或者super关键字调用父类中的方法, 但是只能调用public和protected修饰的方法;
- 子类在重写父类中的方法时, 权限的修改范围只能从小到大, protected修饰的方法只能重写成public, 而不能重写成private;
- 在子类调用构造方法时, 调用顺序是从高到低, 举例来说, 先调用的是Triangle(), 后调用的是Equilateraltriangle();
- 在实例化子类对象时, 无参的构造方法能被自动调用, 而有参的构造方法只能通过super();或者super关键字调用.
写在最后
Java中OOP相关的知识是十分基础的, 会继续更新. 目前Java学习先告一段落, 正在学习C++, 之后也会更新.
最后,希望大家一起交流,分享,指出问题,谢谢!
原创文章,转载请标明出处
Made by Mike_Zhang