一、面向对象
1、定义:
什么是对象?
什么都是对象! Everything is Object! 只要是客观存在,具体实例就是一个对象
-
面向过程:
关注的是每个过程的代码实现
-
面向对象:
先把这个过程的代码实现细节整合到对象中,只要找到这个对象就能拿到这个对象身上的所有功能,面向对象基于面向过程
类和对象的关系:
对一类对象进行抽取,对共有的特征抽取成属性,对共有的行为抽取成方法,这一类对象就抽取成了类,类是对象的概括,对象是类1的具体实现
2、构造方法
定义:
1、方法名和类名相同
2、没有返回值类型
类中没有手动添加构造方法,jvm会在底层默认添加一个无参构造
类中已经定义构造方法,jvm不会再添加一个无参构造
构造方法可以重载
用于创建对象
可以给对象的属性进行初始化
3、this关键字
1、用于代表当前类的对象
2、可以指代还没有创建的对象、正在使用的对象
4、构造代码块
1、类内方法外{}
2、当要创建对象的时候会去调用构造方法
3、无论调用什么形式的构造方法都会先走构造代码块,跟构造代码块的位置没有关系,可以给属性进行初始化
5、局部代码块
1、方法内{}
2、用于控制变量的生命周期,提供内存利用率
6、匿名对象
1、 没有名字的对象---只能调用一次,当做参数传递(常用场景)
7、变量
-
局部变量
1、定义在方法中或者代码块里的非静态变量 2、作用范围:方法内或代码块内 3、内存位置:保存在栈中 4、生命周期:当方法执行或者执行代码块而被创建,方法执行完毕或者代码块执行完成就消除
-
成员变量
1、定义在类内,方法之外的变量 2、作用范围:定义个整个类中 3、内存位置:保存在堆中 4、生命周期:随着对象的创建而产生的,随着对象变为无用对象回收时就销毁