Day6
一、面向对象开发:
1.面向过程开发:在实现某个功能的时候,注重的是步骤,每一个步骤都是自己亲力亲为
2.面向对象开发:在实现某个功能的时候,不注重过程与步骤,只要结果
面向对象开发的好处:
- 符合我们常规的方式,把复杂的问题简单化
- 由执行者变成了指挥者
- 便于代码的扩展与维护
面向对象的三大特征:封装、继承、多态
- 面向对象与面向过程开发都必不可少的,相辅相成
二、类与对象
- 类是抽象的:用于描述一类事物
- 类里有成员属性(是什么)、成员方法(能够做什么)
- 对象是对类的具体表现形式
1.成员属性:数据类型+变量(String name;/int age;)
2.成员方法:访问权限(可以不写,默认)+作用域(如:static)+数据类型+成员方法名称(){ 成员方法体 }
注意点:
- 成员属性都是在类内,方法外的
- 如果这个方法是成员方法就必须把static关键字去掉
三、匿名对象(一次性对象,没有名字的对象<new+类名>)
- 特点:
1.不会再栈内存里有地址,但是会在堆里开辟空间
2.这个一次性的对象用完就马上销毁,所以节省内存空间
3.一般与作为方法的参数使用 <getStudent(new Student();)>
4.可以直接调用其类里的方法 <new Student().study();>
5.匿名对象给成员变量赋值没有任何意义
四、局部变量与成员变量的区别
- 局部变量:方法里的变量叫做局部变量,包含方法里的参数
- 成员变量:类下面的变量叫做成员变量
局部和成员变量的区别:
1.位置不一样,局部变量在方法里,成员变量在类下面
2.生命周期:
(1)局部变量的生命周期随着方法的开始而开始,随着方法的结束而结束
(2)成员变量的生命周期随着对象的创建而开始,随着对象的回收而结束(垃圾回收期)
3.数据存储的位置不一样:局部变量存在栈里,而成员变量存在堆里
4.有无默认值:成员变量都有默认值,局部变量没有默认值
五、属性私有化
- 私有的关键字:private;加上私有的关键字之后,只能够本类访问
- 私有化的好处:
1.隐藏内部细节,保护数据的安全,以及防止数据的错误
2.提供两个对外的方法:setXXX()赋值、getXXX取值
3.可以对属性、对方法、对类和接口进行私有化
4.私有化:其实就是一种简单的封装
六、this的使用方法
- this就是对本类的对象的引用==>也就是谁调用了这个方法,这个对象就是谁
this.变量-->获取成员变量; this.方法-->调用成员方法
- 在一个方法里面,如果成员变量与局部变量的名字一样,局部变量的作用域优先于成员变量