java基础总结
day07:面向对象01 类与对象,变量(作业域,生命周期,javaBean与封装思想)
1.面向过程与面向对象的区别
面向过程:站在过程的角度思考问题,一步一步,先干啥后干啥,每一个功能我们都使用函数按照步骤一步步实现,使用时依次调用
面向对象:思想中每个函数完成一个功能,用户接受输入数据,函数对输入数据进行处理得到结果
2.面向对象的三大特征
封装,继承,多态
3.成员变量与局部变量
- 成员变量:定义在类里面,方法外面,
- 局部变量:除了成员变量,其他都是局部变量
1.方法内
2.方法的形参
3. 一些代码块中
成员变量有默认的初始值,局部变量没有,必须初始化
4.类与对象的定义与关系
面向对象思想中有两个非常重要的概念,类和对象,其中:
- 类(class),是对某一类事务的抽象描述(状态和行为),如下图的抽象女人图。
- 对象(object),表示现实生活中该类事物的个体,也称之为实例,如下图的每一个具体的女人。
- 类可以看作是对象的数据类型,就好比无论你是谁,只要是女人,那么类型就是女人。
- 抽象的类型 描述具体的 对象
- 类 -> 实例 -> 对象 对象 -> 抽象 -> 类
类是拥有相同特性(状态)和行为(功能)的多个对象的抽象
-
使用成员变量来表示状态
-
使用成员方法来表示行为
5.变量的作用域
变量根据定义的位置不同,也决定了各自的作用域是不同的,关键看变量所在的那对花括号。
- 成员变量:在所定义的类中都有效
- 局部变量:从开始定义的位置开始,只能在自己所在的花括号里有效
6.变量的生命周期
-
成员变量:存储在堆内存中,随对象的销毁而销毁
-
局部变量:存储在栈内存中,随着所定义的方法调用结束而销毁
局部变量存储在方法中,每次调用方法都会在栈空间开辟一个内存空间-----栈帧,当调用方法结束时,栈帧被销毁,内存中存储的成员变量也被销毁
7.构造器
- 无参构造器:
用于new 类(),返回类对象(默认有)
- 有参构造器:
用于new 类(实参列表),用于返回对象和初始化对象(默认无,如果写有参构造器则覆盖无参构造器)
8.javaBean规范
- 成员变量私有化
private 数据类型 变量名
- 获取与设值
用get与set进行成员变量的拼接,首字母大写
9.封装思想
不给外界随意的直接的访问和修改内部信息,而是通过一个暴漏的接口方法给用户,外界通过接口方法访问,在外界访问方法时会做一些判断,防止用户随意的修改数据
封装思想的实现则是按照javaBean规范来编写java普通类