特点
- 面向对象是一种常见的思想,符合人们的思考习惯
- 面向对象的出现,将复杂的问题简单化
- 面向对象的出现,让曾经在过程中的执行者,变成了面向对象思想中的指挥者
面向对象三大特征
- 封装
- 继承
- 多态
使用面向对象思想,首先先要确定有哪些对象,然后再去判定对象的功能,比如说:人开门。这里有两个对象:人和门,那么,开门这一行为是人的功能还是门的功能呢?这里用个简单的方法:谁最清楚,这功能就是谁的。那这里应该是门最清楚怎么开门,人最清楚的是如何使力开门。
类与对象的关系
类:用java语言对现实生活中的事物进行描述,通过类的形式来体现
如何用计算机语言描述呢?
对于事物的描述通常只关注两方面:属性和行为。只要明确该事物的属性和行为并定义在类中即可。
定义类就是在定义类中的成员
- 成员:成员变量<-->属性 成员函数<-->行为
对象:其实就是该类事物实实在在存在的个体
两者之间的关系:
- 类:事物的描述
- 对象:该类事物的实例,在java中使用new关键字来创建。
成员变量和局部变量的区别:
成员变量定义在类中,整个类中都可以访问。
局部变量定义在函数,语句,局部代码块中,只在所属的区域有效。
成员变量存在于堆内存的对象中。
局部变量存在于栈内存的方法中。
成员变量随着对象的创建而存在,随着对象的消失而消失。
局部变量随着所属区域的执行而存在,随着所属区域的结束而释放。
成员变量都有默认初始化值。
局部变量没有默认初始化值。
匿名对象
匿名对象:没有名字的对象 。
new Car();//匿名对象。其实就是定义对象的简写格式。
Car c = new Car();
c.run();
new Car().run();
1,当对象对方法仅进行一次调用的时候,就可以简化成匿名对象。
new Car().num = 5;
new Car().color = "green";
new Car().run();
2,匿名对象可以作为实际参数进行传递。
//Car c1 = new Car();
//show(c1);
show(new Car());
基本和引用类型参数传递
基本和引用类型参数传递图解.jpg