CGB2105--Day06--复习

CGB2105--Day06--复习,第1张

CGB2105--Day06--复习 1 面向过程

这种思想强调的是过程,凡事亲力亲为

2 面向对象

这种思想强调的是结果,面向对象是java及其重要的特征,java就是一门面向对象的语言

3 类

类指的是类型Type,是指一类事物,类时抽象的,要提取这一类事物的特点与功能,可以把类理解成 设计图纸,模板

4 对象

对象是根据类创建出来的具体实例,一个类可以创建出多个对象,对象通过地址值来区分

5 对象创建过程分析

Phone p = new Phone();创建对象时内存发生了什么?

  1. 在栈内存中开辟一块空间存放,Phone类型的引用类型变量p,把p压入 栈底,此时p只有一个默认值null
  2. 在堆内存开辟一块空间用于存放Phone类型的对象
  3. 要给这个对象进行初始化,比如:String brand = null;
  4. 此对象已经准备好,所以回生成一个唯一的地址值,并将这个地址值交给栈内存中的变量p保存起来
  5. 如果后续想要对对象 *** 作,比如:p.price = 99.99;先找到栈中p变量保存的地址值,更具这个地址值找到堆内存中的对象再做进一步 *** 作
6 面向对象的特征–封装 6.1 属性的封装
  1. 使用private修饰属性,一但属性被private修饰,就只能在本类用使用,外界无法访问
  2. 为了让外界能够按照我们提供的方式来调用,需要根据属性生成公共的getXX()与setXXX()方法
6.2 方法的封装

方法的封装也是使用private来修饰,如果想调用私有方法的功能,需要在本类的公共方法里调用这个私有方法

7 构造方法 7.1 格式

与类同名且没有返回值类型的方法

7.2 作用

构造方法用于创建对象时使用,每次创建对象时,都会自动触发构造方法

7.3 特点
  1. 每个类会默认提供一个本类的无参构造
  2. 构造方法也存在重载的现象(无参/含餐/全参)
  3. 我们是通过方法名 + 参数列表的方式来确定要调用那个方法
  4. 全参构造不仅可以创建对象,还可以给这个创建出来的对象属性赋值
  5. 如果添加了任意一个含参构造,默认的无参构造会被覆盖,所以需要手动添加无参构造
8 this关键字
  1. 当本类的成员变量与局部变量同名时,可以使用"this.变量名"的方式指定成员变量
  2. this还可以实现构造方法的调用,注意构造方法之间不可以互相调用,否则会死循环,除此之外,本语句必须写在构造方法的第一行
  3. this();代表调用的是本类的无参构造
  4. this(参数);代表调用的是本类的对应参数的构造方法
9 构造代码块与局部代码块

构造代码块
位置:类里方法外
作用:用于提取所有构造方法的共性功能
注意事项:每一次创建对象时才会触发,而且优先于构造方法执行

局部代码块
位置:方法里
作用:用于控制变量的作用范围
注意事项:只有调用局部代码块所处的方法时,局部代码块才会执行
执行顺序:构造代码块——>构造方法——>局部代码块

10 方法的重载
  1. 现象 :在同一个类中,存在多个方法名相同但是参数列表不同的方法
  2. 注意:我们这里所说的参数列表不同,指的是参数的个数,与参数名无关
  3. 注意:重载是为了使用时,传入不同的参数,也可以很好的匹配到同名的放方法来执行此功能
11 形参与实参
  1. 方法列表中的参数名就是一个形参,形参没有具体的值,调用方法时,传入什么值就是什么值
  2. 实参:是实际存在的参数,有自己明确要保存的值

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4828371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-10
下一篇 2022-11-10

发表评论

登录后才能评论

评论列表(0条)

保存