【JavaSE 基础】(六)面向对象

本文详细介绍了面向对象编程的基础概念,包括类的设计与使用、对象的内存管理、构造器及this关键字的应用,并通过购物车案例深入讲解面向对象编程的技术要点。

目录

1 设计对象并使用

1.1 设计类,创建对象并使用

1.2 定义类的几个补充注意事项

2 对象内存图

2.1 多个对象的内存图

2.2 两个变量指向同一个对象内存图

3 面向对象案例:购物车

3.1 需求分析、架构搭建

3.2 添加商品到购物车、查看购物车信息

3.3 修改购买数量

3.4 结算金额

4 构造器

4.1 学习构造器的目的

4.2 构造器的作用、格式

​编辑

4.3 构造器的分类和作用

4.4 构造器的注意事项

5 this关键字

5.1 this关键字是什么

5.2 this关键字的作用

5.3 this出现在有参构造器中的用法

5.4 this出现在成员方法中的用法

6 封装

6.1 封装思想概述

6.2 如何进行更好的封装

7 标准 JavaBean

7.1 JavaBean

7.2 标准 JavaBean 须满足如下书写要求:

8 补充知识:成员变量 VS 局部变量

9 面向对象综合案例:模仿电影信息展示


1 设计对象并使用

1.1 设计类,创建对象并使用

类:是对象共同特征的描述

对象:是真实存在的具体实例

如何设计类

 

1.2 定义类的几个补充注意事项

  • 类名首字母建议大写,满足“驼峰模式”,不能用关键字,必须是合法标识符,且有意义
  • 一个Java文件中可以定义多个class,但只能有一个类是public修饰,而且public修饰的类名必须成为代码文件名。实际开发建议一个代码文件只定义一个class类
  • 成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值; 一般无需指定初始化值,存在默认值

2 对象内存图

2.1 多个对象的内存图

  •  对象放在堆内存
  • 变量名中存储的是对象在堆内存中的地址
  • 成员变量的数据存储在对象中,堆内存

2.2 两个变量指向同一个对象内存图

 

 垃圾回收

  • 当堆内存中的对象,没有任何变量引用(指向)时,就会判定为内存中的“垃圾”
  • Java存在自动垃圾回收器,会定期自动清理

3 面向对象案例:购物车

3.1 需求分析、架构搭建

3.2 添加商品到购物车、查看购物车信息

3.3 修改购买数量

3.4 结算金额

4 构造器

4.1 学习构造器的目的

  • 真正知道对象具体是通过调用什么代码得到的
  • 能够掌握为对象赋值的其他简便写法
  • 为以后学习面向对象编程的其他内容做支撑

4.2 构造器的作用、格式

4.3 构造器的分类和作用

  • 无参数构造器(默认存在的):初始化对象时,成员变量的数据均采用默认值
  • 有参数构造器:在初始化对象时,同时可以接受参数为对象进行赋值

4.4 构造器的注意事项

  • 任何类定义出来,默认就自带了无参数构造器,写不写都有
  • 一旦定义了有参数构造器,无参数构造器就没有了;如果还想用无参数构造器,此时需要自己手写一个

5 this关键字

5.1 this关键字是什么

  • 可以出现在构造器、方法中
  • 代表当前对象的地址

5.2 this关键字的作用

  • 可以用于指定访问当前对象的成员变量、成员方法

5.3 this出现在有参构造器中的用法

        

5.4 this出现在成员方法中的用法

        

6 封装

6.1 封装思想概述

  • 面向对象的三大特征:封装,继承,多态
  • 封装:告诉我们如何正确设计对象的属性和方法
  • 封装的原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为

         

6.2 如何进行更好的封装

  • 一般建议对成员变量使用private关键字进行修饰(private修饰的成员只能在当前类中访问)
  • 为每个成员变量提供配套public修饰的getter、setter暴露其取值和赋值

7 标准 JavaBean

7.1 JavaBean

  • 也可以称为实体类,其对象可以用于在程序中封装数据

7.2 标准 JavaBean 须满足如下书写要求:

  • 成员变量使用 private 修饰
  • 提供成员变量对应的 setXxx() / getXxx() 方法
  • 必须提供一个无参构造器;有参构造器可写可不写

※ 创建getter和setter的快捷键:右键→Generate→Getter and Setter→选中需要创建的变量

※ 创建有参数构造器的快捷键:右键→Generate→Constructor→选中需要创建的参数

※ 创建无参数构造器的快捷键:右键→Generate→Constructor→Select None

8 补充知识:成员变量 VS 局部变量

区别成员变量局部变量
类中位置不同类中,方法外常见于方法中
初始化值不同有默认值,无需初始化没有默认值,使用前需要完成赋值
内存位置不同堆内存栈内存
生命周期不  同  随着对象的创建而存在,随着对象的消失而消失随着方法的调用而存在,随着方法的运行结束而消失
作用域在所归属的大括号中

9 面向对象综合案例:模仿电影信息展示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只喵喵豚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值