面向对象
面向对象的特点
- 1.符合人们的思想习惯
- 2.将复杂事情简单化
- 3.让曾经在过程中的执行者变成指挥者举例
- 比如说,公司中刚刚接取了一个项目,如果这个事情全部都交给老总做的话,可能会耗时很久很久,所以他就需要去找别人来帮他做。需要去面试选人,也就是寻找几个对象替他去完成工作。这就是面向对象的一种体现。
- 哪个对象对动作最清楚,定义在哪里成员变量、局部变量的区别
- 成员变量- 成员变量定义在类中,整个类都可以访问
- 成员变量存在于堆内存的对象中
- 成员变量随着对象创建而生,随对象消失而亡
- 成员变量都有默认初始值
 
- 局部变量
- 1.当对象对方法仅进行一次调用的时候,就可以简化成匿名对象
- 2.匿名对象可以作为实际参数进行传递对象的内存体现
- 以下面这段代码为例 - 1 
 2
 3
 4
 5
 6- Car c1 = new Car(); 
 Car c2 = new Car();
 c1.num = 4;
 c1.color = red;
 c2.num = 5;
 c2.color = blue;
- 栈中运行主函数,创建c1对象,在堆中开辟一个新的区域,将他的地址值传回栈中,他的num初始值为0,color初始值为null  
- 下面这段代码和上面又有什么不同那1 
 2
 3
 4Car c1 = new Car(); 
 Car c2 = c1;
 c1.num = 4;
 c2.color = blue;

- 这里将c1赋值给c2,就是将c1地址给c2,所以c2.color = blue,通过寻址找到并更改的color值就是c1地址下的匿名对象
- 以下面代码,作图演示1 
 2
 3new Car().num = 4; 
 new Car().color = red;
 new Car().show();

基本数据类型参数传递
| 1 | class demo{ | 

引用数据类型参数传递
| 1 | class demo{ | 

封装
- 好处:- 将变化隔离
- 便于使用
- 提高重用性
- 提高安全性
 
- 封装原则- 将不需要对外提供的原则都隐藏起来
- 把属性都隐藏,提供公共方法对其访问
 
封装思想
- 封装:指隐藏对象的属性和实现细节,仅对外提供公共访问方式
- private权限修饰符
- 私有仅仅是封装的一种体现而已,封装不仅仅有私有一种方式