java 面向对象思想
2021/4/15 22:55:09
本文主要是介绍java 面向对象思想,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
面向对象 & 面向过程
-
面向过程: 步骤很清晰, 第一步做什么, 第二步做什么, 第三步做什么...
例如:吃煎饼果子利用面向过程的思想:
-
学习摊煎饼的技术
-
买材料鸡蛋,油,葱等等
-
开始摊
-
吃
-
收拾
-
-
面向对象: 物以类聚, 是一种分类的思维模式, 思考解决一个问题需要哪些分类, 对每个分类单独思考, 然后对每个分类的细节面向过程思考. 适合处理需要多人协作的问题.
例如:吃煎饼果子利用面向对象的思想
-
找会摊煎饼的大妈(创建一个摊煎饼大妈的对象)
-
调用其摊煎饼的技能(功能),传递进去钱参数
-
返回给我们一个煎饼
-
吃
-
-
面对对象编程的本质: 类的方式组织代码, 对象的方式封装数据.
-
类是一个抽象的概念, 对象具体的事务, 是类的实例
-
创建对象: Student stu = new Student(), 使用new关键字创建对象时, 不仅会分配内存空间, 还会对创建好的对象进行初始化, 调用类的构造器.
构造方法
- 类的构造方法, 也叫做构造器
/* * 构造方法: * 给对象的数据进行初始化 * * 格式: * 方法名和类名相同 * 没有返回值类型,连void都不能写 * 没有具体的返回值 * 如果没有显示的声明构造方法, java提供了默认的构造方法 * 一旦创建了有参的构造方法, 想要调用无参构造就必须显示的定义 */ public class Student { public Student() { System.out.println("这是构造方法"); } }
封装
- 是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改.
- 将不需要对外提供的内容都隐藏起来. 把属性隐藏,提供公共方法对其访问. 成员变量private,提供对应的getXxx()/setXxx()方法
- 简单来说就是属性私有化(private), 对外提供get/set 方法.
继承(is a)
- 继承是对某一批类的抽象, 使用extends关键字, 子类是父类的扩展.
- java只支持单继承, 不支持多继承.
- 继承后, 子类能够访问父类所有的非私有属性和方法
多态
一个对象的类型是确定的,但是可以指向多个引用类型, 多态是方法的多态.
- 有继承的条件
- 子类重写父类的方法
- 父类的引用指向子类对象
super & this
super
- super 代表对父类对象的引用, 必须在继承条件下才能使用.
- super() 代表调用父类的构造方法, super()必须在构造方法的第一行.
- super只能出现在子类的构造方法/方法中.
- super 和 this 不能同时调用构造方法.
this
- 代表调用者当前这个对象
- 没有继承条件也可以使用
- this() 代表本类的构造
这篇关于java 面向对象思想的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-01为什么公共事业机构会偏爱 TiDB :TiDB 数据库在某省妇幼健康管理系统的应用
- 2024-04-26敏捷开发:想要快速交付就必须舍弃产品质量?
- 2024-04-26静态代码分析的这些好处,我竟然都不知道?
- 2024-04-26你在测试金字塔的哪一层?(下)
- 2024-04-26快刀斩乱麻,DevOps让代码评审也自动起来
- 2024-04-262024年最好用的10款ER图神器!
- 2024-04-2203-为啥大模型LLM还没能完全替代你?
- 2024-04-2101-大语言模型发展
- 2024-04-17基于SpringWeb MultipartFile文件上传、下载功能
- 2024-04-14个人开发者,Spring Boot 项目如何部署