Until5
面向对象
1、面向对象概述
2、举例
3、类与对象的关系
4、成员变量与局部变量
5、匿名对象的应用
6、封装概述
7、封装private
8、构造函数
9、构造代码快
10、This关键字
11、This关键字在构造函数间的调用
一、面向对象概述和举例
。。。面向对象-------面向过程
面向对象是基于面向过程的。而面向对象是指功能对象,而面向过程值强调功能的行为。
面向对象特点: | 封装 | 继承 | 多态 |
开发者:找对象、建立对象、适用对象、维护对象
二、类与对象的关系
类与对象的关系就像汽车蓝图与真车的关系!类就是蓝图~而汽车就是对象了
描述事物其实就是在描述事物的属性和行为。
属性对应是类中变量,行为对应的类中的函数(方法)。
其实定义类,就是在描述事物,就是在定义属性和行为。属性和行为共同成为类中的成员(成员变量和成员方法)。
而对象在内存的结构是这样的:
三、成员变量与局部变量
成员变量和局部变量的区别主要在于范围:
成员变量的范围是作用于整个类中,在堆内存当中
局部变量的范围是作用于函数中中,在栈内存中
四、匿名对象的应用
匿名对象是只调用一次的对象,可参数传递
五、封装
1、 概念:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
2、 好处:
将变化隔离,便于使用,提高重用性,提高安全性
3、 封装原则:
*将不需要对外提供的内容都隐藏起来
*把属性都隐藏,提供公共方法对其访问
4、private关键字
是一个权限修饰符;用于修饰成员(成员变量和成员函数);被私有化的成员只在本类中有效。
用法:将成员变量私有化,对外提供对应的set ,get方法对其进行访问。提高对数据访问的安全性。
注意:私有仅仅是封装的一种表现形式。
之所以对外提供访问方式,就因为可以在访问方式中加入逻辑判断等语句,对访问的数据进行操作。提高代码健壮性。
六、构造函数
构造函数的概念:函数名与类名一致;不用定义返回值;不可return
改造函数的作用其实就是给对象进行初始化。
如果没有自定义构造函数,那么系统会默认创建一个空参数的构造函数
七、构造代码块
构造代码块是这样的!{}
没了!!
构造代码快优先于构造函数运行
两者的区别在于作用:构造代码块是给所有对象进行统一初始化,而构造函数是给指定的对象进行初始化的
八、This关键字的概述和在构造函数间的调用
This关键字修饰的变量代表的是本类中的成员,这是为了区分局部成员变量和被this修饰的成员变量的同名情况!
有一个规则:因为初始化要优先执行,所以this语句只能放于构造函数的第一行!
主函数分析:
1、 格式:public static void main(String[] args){}
主函数是固定格式的:jvm识别。
2、 特点:主函数是一个特殊的函数。作为程序的入口,可以被jvm调用。
3、 主函数的定义:
public:代表着该函数访问权限是最大的。
static:代表主函数随着类的加载就已经存在了。
void:主函数没有具体的返回值。
main:不是关键字,但是是一个特殊的单词,可以被jvm识别。
(String[] arr):函数的参数,参数类型是一个数组,该数组中的元素是字符串。字符串类型的数组。
注:jvm在调用主函数时,传入的是new String[0];