Java基础07 类与对象 封装 构造方法

 

01 面向对象思想 概述和举例

02 面向对象思想 代码的举例

03 面向对象思想 类的概述 一类事物

04 面向对象思想 对象概述 类具体体现

05 类的定义

06 对象的使用

07 定义类 创建对象 练习

08 创建一个对象 内存图

09 创建两个对象 内存图

10 类名作为参数 传递地址 内存图

11 局部变量和成员变量区别

12 封装 使用private修饰变量 get set方法

13 封装 使用this区分成员和局部变量重名变量

14 封装 构造方法的说明

15 封装 JavaBean规范 快捷键

16 总结

01 面向对象思想 概述和举例

概念:

面向过程: 强调流程步骤, 完成一个功能, 一步一步实现, 自己来实现

面向对象: 强调具备属性和功能的个体, 实现一个功能, 找对应的个体去完成就可以了,功能由该个体去实现

 

02 面向对象思想 代码的举例

举例:

int[] arr = new int[长度]{}

int[] arr = {}

 

面向对象的编程就是使用对应的对象,去完成指定的功能

 

03 面向对象思想 类的概述 一类事物

什么是类?

类是对一类事物属性和功能的描述

在面向对象的代码中,属性使用成员变量来描述,功能使用成员方法来描述

小马哥理解的类:

类就是分类,将功能和属性,归结到一个类中,这不就是分类的过程中,这样做,实现了封装,也可以在这个基础上,实现了多态和继承

抽象出一个模板,这个模板就是类,一个分类标准是不能干活的,真正干活的是根据这个类创建出来的对象,相当于,我指定了一个标准,按照这个标准创造实例

 

本质:

定义类,就是定义模板,定义标准

面向对象编程,就是创建类,然后使用这个标准的对象来干活

定义类: 定义类的属性和功能

属性: 数据

功能: 方法

 

04 面向对象思想 对象概述 类具体体现

概念:

对象: 事物的一个实际个体,我们称之为实例

 

05 类的定义

语法:

public class 类名{

属性定义;

方法定义;

}

 

06 对象的使用

创建类的对象去干活

语法:

创建对象

类名 对象名 = new 类名();

使用对象

对象.成员变量; 赋值和取值

对象.成员方法();

 

07 定义类 创建对象 练习

 

 

08 创建一个对象 内存图

 

 

09 创建两个对象 内存图

每次创建对象都是开辟新的空间,每个对象中,都有一套自己的成员变量

 

10 类名作为参数 传递地址 内存图

修正: 对象作为参数

引用类型作为参数,本质上传递的是地址值

 

11 局部变量和成员变量区别

 

位置不同

作用范围不同

初始值不同? 成员变量会被赋初始值

局部变量没有初始值不能被使用

在内存中的位置不同

成员变量在堆里,对象在堆里

局部变量在栈里,方法在栈里

生命周期不同

成员变量,随着对象的创建而创建

局部变量,随之方法的调用而存在,随着方法的

注意:

方法执行完成,对象会马上消失吗? 不会马上,会被jvm垃圾回收

 

12 封装 使用private修饰变量 get set方法

封装的目的:

面向对象本质上就是封装,将属性和功能封装进对象, 通过对象调用相应功能

封装间接实现了对内部成员的隐藏

封装仅仅是保护属性吗?

 

不加private能被外界访问吗?

public和不加修饰是一样的吗?

 

 

13 封装 使用this区分成员和局部变量重名变量

原则:

局部变量和成员变量重名,局部变量隐藏了成员变量,变量就近访问,只会访问到局部的

原理上是这样的,jvm现在方法所在的栈中寻找这个变量,如果找到就使用;否则去堆中寻找成员变量,找到就使用.

this代表的当前对象

 

14 封装 构造方法的说明

概述:

创建对象的时候,就的通过构造方法来创建的

作用: 将对象初始化

语法:

默认无参构造-->给成员变量赋默认值(在这里给不用给成员变量做初始化)

手动有参构造-->给成员变量赋指定值

 

注意:

1,如果程序中没有手动提供构造方法,系统会给出无参构造方法;

2,如果手动提供了构造方法,系统将不再提供无参构造方法;

编写构造方法时,把无参构造方法和有残构造方法都写上

 

15 封装 JavaBean规范 快捷键

概述[JavaBean]:

JavaBean是Java语言编写类的一种标准规范,符合JavaBean的类,要求类必须是具体的和公共的,并且有无参数的构造方法,提供用来操作成员变量的set和get方法

 

作业:

创建一个Student类,使用标准的JavaBean规范来实现

快捷键:

alt+insert+constructor

 

16 总结

面向对象思想

面向过程

面向对象: 定义类(属性,构造);创建类的实例

局部变量

成员变量

封装

封装的本质作用: 面向对象就是通过抽象实现了封装,这样才可以进行代码的复用

在形式上捎带实现了对属性的隐藏

private

隐藏属性细节

提供公共的访问方式

this

构造

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

能力工场小马哥

如果对您有帮助, 请打赏支持~

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

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

打赏作者

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

抵扣说明:

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

余额充值