• Java知识梳理 第七章 面向对象编程


    第七章 面向对象编程

     引入

    如上图所示,我们通过一个“猫类”来引入,我们在这个过程中将猫的特性提取了出来,从而可以通过该类来定义不同的猫,即创建不同的对象

    7.1 类与对象的区别

    1)类是抽象的,概念的,代表一类事物,比如人类、猫类...,即它是数据类型

    2)对象是具体的,实际的,代表一个具体事物,即是实例

    3)类是对象的模板,对象是类的一个个体,对应一个实例

     对象在内存中的存在形式及内存分配:

    Java内存的结构分析:

    1)栈:一般存放基本数据类型(局部变量)

    2)堆:存放对象(Cat cat,数组等)

    3)方法区:常量池(常量,比如字符串),类加载信息

    如何创建对象:

    7.2 属性/字段/成员变量

    从概念或叫法上看,成员变量=属性=field(字段)

    即成员变量是用来表示属性的

    7.3 成员方法

    引入:某些情况下,我们需要定义成员方法(简称方法),比如人类除了有一些属性外,我们人类还有一些行为,比如说话、跑步等,这时我们就要用成员方法才能完成

    下面我们对方法的调用机制进行分析

    成员方法的好处:

    1)提高代码的复用性

    2)可以将实现的细节封装起来,然后供其他用户来调用即可

    成员方法的定义:

    成员方法的细节:

    成员方法传参机制:

    1)基本数据类型的传参机制

    基本数据类型,传递的是值(值拷贝),形参的任何改变不改变实参

    2)引用数据类型的传参机制

    引用类型传递的是地址,可以通过形参改变实参

    方法递归调用:

    简单的说:递归就是方法自己调用自己,每次调用传入不同的变量

    递归有利于编程者解决复杂问题,同时让代码变得简洁

    方法递归调用的内存分析:

    递归的重要规则:

    方法重载:

    7.4 可变参数

    7.5 作用域

    7.6 构造方法/构造器

    7.7 this

    简单地说:哪个对象调用this,this就代表哪个对象


     

     

  • 相关阅读:
    multiple JSON fields named delFlag
    Docker的常用命令
    Vulnhub: Hogwarts: Bellatrix靶机
    java集合--List集合的基本用法
    使用CMS后台资源,如何在小程序上不开调试模式能正常呈现出内容
    2023年智能家居占消费电子出货量28%,蓝牙Mesh照明占据重要位置
    【附源码】Python计算机毕业设计社区养老院管理系统
    uniApp笔记
    行业下滑,海尔智家继续逆增双11全网第一
    ElasticSearch之并发操作处理
  • 原文地址:https://blog.csdn.net/ZZZWWWFFF_/article/details/126268731