4-「季淳卿」面向对象(继承、封装、多态)详解案例
开始下回分解
面向对象
- 1-继承
- 2-封装
- 3-多态
1-继承
继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的
继承类型
需要注意的是 Java 不支持多继承,但支持多重继承。
继承的特性
- 子类拥有父类非 private 的属性、方法。
- 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
- 子类可以用自己的方式实现父类的方法。
- Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 B 类继承 A 类,C 类继承 B 类,所以按照关系就是 B 类是 C 类的父类,A 类是 B 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。
- 提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。
继承关键字
接口
一个接口对方法的实现
单继承和多继承
继承类与类之间的耦合度
强依赖:必须的
继承关系:最好不要超过五重
extends关键字
在 Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类。
implements关键字
使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。
super 与 this 关键字
super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。
this关键字:指向自己的引用。
final关键字
final 关键字声明类可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写:
实例变量也可以被定义为 final,被定义为 final 的变量不能被修改。被声明为 final 类的方法自动地声明为 final,但是实例变量并不是 final
构造器
子类是不继承父类的构造器(构造方法或者构造函数)的,它只是调用(隐式或显式)。如果父类的构造器带有参数,则必须在子类的构造器中显式地通过 super 关键字调用父类的构造器并配以适当的参数列表。
如果父类构造器没有参数,则在子类的构造器中不需要使用 super 关键字调用父类构造器,系统会自动调用父类的无参构造器。
多继承:让一个类可以去扩展一些完全不相关的东西
2-封装
封装的优点:
- 良好的封装能够减少耦合。
- 类内部的结构可以自由修改。
- 可以对成员变量进行更精确的控制。
- 隐藏信息,实现细节。
3-多态
多态是同一个行为具有多个不同表现形式或形态的能力。
多态就是同一个接口,使用不同的实例而执行不同操作,
多态的优点
- 消除类型之间的耦合关系
- 可替换性
- 可扩充性
- 接口性
- 灵活性
- 简化性
- 重载 -在同一个类中方法名相同,参数,反回类型不相同的方法(返回类型是附带的)
好处:同一个方法名, 处理不同的事情(根据是不是带带参数)
如果反回类型不相同,参数相同是错误的
package duotai;public class Student {public void study(){System.out.println("study...");}
// public Object study(){return new Object();};public void study(int id){if (id==10){System.out.println("mawei study......");}}public void study(int id,Object book){if (id==10 && book !=null){System.out.println("yikai study"+ book);}}
}
- 重写 -在子类中,写一个同名的方法覆盖父类的方法
一个类出现与父类中相同名的方法,默认调用子类的方法。
里氏代换
-通过子类去创建父类的对象
任何父类对象可以出现的地方,你都可以用子类对象可以去替代
好处:可以用一个拓张之后的类,去执行指定的任务(可以使用不同的实现类,去解决同一个问题)
通过子类去创建父类的对象
package duotai;public class Student {public void study(){System.out.println("study...");}
}package duotai;public class RunTest {public static void main(String[] args) {Student student = new Student();Student mawei = new Manwai();//
// mawei.study();Student yikai = new YiKai();//
// yikai.study();new RunTest().test(yikai);}public void test(Student stu){//不需要知道具体是哪个学生(见人说人话,见鬼说鬼话)stu.study();}}
今天学习结束啦✿✿ヽ(°▽°)ノ✿
有什么问题欢迎大家提出来,一起进步
世界灿烂盛大,欢迎回家 —— 《全球高考》
4-「季淳卿」面向对象(继承、封装、多态)详解案例相关推荐
- 2 -「季淳卿」 Redis 字符串+哈希
这里写目录标题 String(字符串) Hash(哈希) 1 -「季淳卿」 Redis基本介绍和String练习 开始下回分解 String(字符串) 代码如下: #-- 1 strlen key 查 ...
- 「季淳卿」零基础学习 MyBatis-Plus-springBoot(笔记总结)
hello,大家好.这里是季淳卿,━(`∀´)ノ亻!,MyBatis-Plus-springBoot 零基础学习笔记总结 文末有代码和.md文件可以下载(小伙伴们可以自取) MyBatis-Plus- ...
- 「季淳卿」MyBatis学习总结
hello,大家好.这里是季淳卿,━(`∀´)ノ亻!,MyBatis 学习笔记总结 MyBatis
- java 继承 封装 多态 详解
1.继承 1.1子类能够继承父类的哪些成员? 1.1.1 public 成员 1.1.2 protected 成员 1.1.3 同一个包中:缺省访问类型的成员 1.1.4 打死不能继承private成 ...
- 发那科机器人零点找回_「发那科」FANUC机器人零点复归详解
原标题:「发那科」FANUC机器人零点复归详解 今天整理一篇关于FANUC机器人:零点复归内容,希望对大家有所帮助! 1概述 零点复归机器人时,需要将机器人的机械信息.与位置信息同步,来定义机器人的物 ...
- C# 面向对象编程【多态详解】
C# 面向对象编程[多态详解] 文章目录 C# 面向对象编程[多态详解] 1. 里氏转换 2. 多态 2.1 虚方法 3.2 抽象类 3.3 接口 1. 里氏转换 1).子类可以赋值给父类 2).如果 ...
- Java学习系列(四)Java面向对象之修饰符、封装、继承、多态详解
今天内容比较多,直接步入正题吧. 类和对象的定义 类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起.而对象是具有类类型的变量,存在于堆内存中.类是对象的抽象,而对 ...
- Java面向对象之修饰符、封装、继承、多态详解
类和对象的定义 类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起.而对象是具有类类型的变量,存在于堆内存中.类是对象的抽象,而对象是类的具体实例.类是抽象的,不占 ...
- python面向对象编程指南 脚本之家_Python面向对象编程之继承与多态详解
本文实例讲述了Python面向对象编程之继承与多态.分享给大家供大家参考,具体如下: Python 类的继承 在OOP(Object Oriented Programming)程序设计中,当我们定义一 ...
最新文章
- 2012到2020主要的CNN架构总结
- java基本数据类型自动转包装类,Java String和基本数据类型之间的转换(包装类)
- vue 怎么样不重复往数组里插入数据_Vue.js在数组中插入重复数据的实现代码分享...
- Linux 中内核级加强型火墙的管理
- mysql单表简单排序查询
- IO流--buffer
- JavaScript OO不XX 学习总结
- How to use the Feathers ScreenNavigator component
- 项目文件3 项目范围说明书、项目团队派工单、质量控制测量结果、质量测量指标、质量报告、需求文件、需求跟踪矩阵、 资源分解结构
- 云计算现在好就业吗?薪资怎么样?
- 电脑各种故障排除集锦
- 浏览器标准模式和怪异模式之间的区别是什么——整理自网页
- 基于SpringBoot+Thymeleaf兼职招聘网站
- JS实现RGB,HSL,HSB相互转换
- 怎样将收藏的网址导入到搜狗账号中
- 第三方互联网支付的主要类型
- [golang]简单文件上传服务
- java json asc排序_按ASCII码给json对象排序
- Android Studio 安装与配置
- 图书馆学专业学c语言吗,图书馆学专业介绍及考研院校排名