【六】Java面向对象(告诉你程序员眼里的面对对象思想是什么!)

所有知识体系文章,GitHub已收录,欢迎Star!再次感谢,愿你早日进入大厂!

GitHub地址: https://github.com/Ziphtracks/JavaLearningmanual

搜索关注微信公众号“码出Offer”,送你学习福利资源!


目录


一、什么是对象
二、什么是类
三、类的组成
四、方法重载
五、构造方法
六、this关键字


思维导图参考:【六】Java面向对象思维导图


【知识拓展】
面向对象的深度理解(OOP)


一说起对象来,大家肯定第一时间想起了现实中的女朋友,但此对象非彼对象。废话不多说,看下面的对象吧,看你是怎么面向她的!哈哈!


一、什么是对象

什么是程序?

程序简单来说就是为了模拟现实世界,解决现实问题而使用计算机语言编写的指令集和

程序员眼里的面对对象思想是什么呢?

  • 一切客观存在的食物都是对象,即:“万物皆对象”
  • 任何对象一定具有自己的特征和行为(即:属性和方法)
  • 特征: 称为属性,一般为名词,代表对象有什么
  • 行为: 称为方法,一般为动词,代表对象能做什么
  • 现实中的对象多数来自于“模板”,而程序中的对象也不例外也具有相应的“模板”
    【六】Java面向对象(告诉你程序员眼里的面对对象思想是什么!)_第1张图片

对象的创建:

【六】Java面向对象(告诉你程序员眼里的面对对象思想是什么!)_第2张图片

对象创建过程:

【六】Java面向对象(告诉你程序员眼里的面对对象思想是什么!)_第3张图片

对象的内存分配:

存储对象的变量中保存对象的地址,通过变量中的地址访问对象的属性和方法


二、什么是类

什么是类?

类(Class)是面向对象程序设计实现信息封装的基础
【六】Java面向对象(告诉你程序员眼里的面对对象思想是什么!)_第4张图片

类的定义:

【六】Java面向对象(告诉你程序员眼里的面对对象思想是什么!)_第5张图片


三、类的组成

  • 属性: 比如:学生的属性有姓名、性别、出生年月、家庭住址、电话等
  • 比如: 学生的行为(也就是方法)有学习、打游戏、看电影等

类与对象的关系:

  • 类: 定义了对象具有的特征和行为,类是对象的模板
  • 对象: 拥有多个特征和行为的实体,对象是类的实例

【六】Java面向对象(告诉你程序员眼里的面对对象思想是什么!)_第6张图片

实例变量:

【六】Java面向对象(告诉你程序员眼里的面对对象思想是什么!)_第7张图片

实例变量与局部变量的区别:

种类 局部变量 成员变量
定义位置 方法或方法内的构造当中 类的内部,方法的外部
默认值 无默认值 字面值与数组相同
适用范围 从定义行到包含其构造结束 本类有效
命名冲突 不允许重名 可与局部变量重名,局部变量优先

实例方法:

实例方法包含两部分: 方法的声明和方法的实现

  • 方法的声明:
    • 代表对象能做什么
    • 组成: 修饰符、返回值类型和方法名(形参列表)
  • 方法的实现:
    • 代表对象怎么做: 即如何实现对应的功能
    • 组成:{}

四、方法重载

什么是方法的重载?

  • 一个类中定义多个相同名称的方法
  • 要求:
    • 方法名称相同
    • 参数列表不同(类型、个数、顺序)
    • 与访问修饰符、返回值无关
  • 好处: 屏蔽使用差异、灵活、方便

注意:只是参数不同并不能构成方法的重载
【六】Java面向对象(告诉你程序员眼里的面对对象思想是什么!)_第8张图片


五、构造方法

什么是构造方法呢?

  • 类中的特殊方法,主要用于创建对象
  • 特点:
    • 名称与类名完全相同
    • 没有返回值类型
    • 创建对象时,触发构造方法的调用,不可通过句点手动调用

注意:如果没有在类中显示定义构造方法,则编译器默认提供无参构造方法

构造方法的重载:

构造方法也可以重载,遵循重载规则
【六】Java面向对象(告诉你程序员眼里的面对对象思想是什么!)_第9张图片

默认构造方法:

【六】Java面向对象(告诉你程序员眼里的面对对象思想是什么!)_第10张图片

构造方法为属性赋值:

【六】Java面向对象(告诉你程序员眼里的面对对象思想是什么!)_第11张图片


六、this关键字

【六】Java面向对象(告诉你程序员眼里的面对对象思想是什么!)_第12张图片

this关键字的用法:

  1. 调用实例属性、实例方法,如:this.name、this.sayHi();
    【六】Java面向对象(告诉你程序员眼里的面对对象思想是什么!)_第13张图片
  2. 调用本类中其他构造方法,如:this(); this(实参);
    【六】Java面向对象(告诉你程序员眼里的面对对象思想是什么!)_第14张图片

【六】Java面向对象(告诉你程序员眼里的面对对象思想是什么!)_第15张图片

你可能感兴趣的:(《JavaSE基础》)