一、Java 面向对象
1.面向对象概念
面向对象是相对于面向过程而言,面向对象和面向过程都是一种思想。
(1)面向过程:
强调的是功能行为。代表语言:C语言。
(2)面向对象:
将功能封装进对象,强调了具备功能的对象。代表语言:Java,C++,C#。
区别:面向过程是一件事情“该怎么做”,面向对象是一件事“该让谁来做”,然后那个“谁”就是对象,他要怎么做是他自己的事情,反正最后一群对象合力能把事情做好就行了。
2.面向对象的特点
是一种符合人们思考习惯的思想,可以将复杂的事情简单化,将程序员从执行者转换成了指挥者。
完成需求时:
(1)先要去找具有所需功能的对象来用。
(2)若果该对象不存在,那么创建一个具有所需功能的对象。
(3)这样可以简化开发并提高复用。
3.面向对象的开发、设计、特征
开发的过程:其实就是不断的创建对象,使用对象,指挥对象做事情。
设计过程:其实就是在管理和维护对象之间的关系。
面向对象特征(特点):
(1)封装(encapsulation)
(2)继承(inheritance)
(3)多态(polymorphism)
二、类与对象之间关系
使用计算机语言就是在不断描述现实生活中的事物。
java中描述事物通过类的形式体现。
对象即是该类事物实实在在地存在的个体。
1.类与对象的关系(图例)
过程化基础java基本概念
可以理解为:类就是图纸,汽车就是堆内存中的对象。
2.类的定义

(1)生活中描述事物无非是描述事物的属性和行为。
如:人有身高,体重,年龄等属性,有走路,吃饭等行为。
(2)Java中用类class来描述事物也是如此
属性:对应类中的成员变量。
行为:对应类中的成员函数。
(3)定义类其实就是在定义类中的成员(成员变量和成员函数)
3.成员变量和局部变量的区别
成员变量:
(1)成员变量定义在类中,整个类中都可以被访问。
(2)成员变量随着对象的建立而建立,随着对象的消失而消失,保存在堆内存中。
(3)成员变量有默认初始化值。
局部变量:
(1)局部变量局部范围内,如:函数,语句中。
(2)局部变量存在于栈内存中,作用范围结束,变量空间自动释放。
(3)局部变量没有默认初始化值。
4、创建和使用对象
5.对象内存结构
内存结构示意图:

由上图可知,每用new新建一个实体对象时,堆内存都会为新实体对象开辟新的空间,且每一对象都有一份属于自己的属性。
当改变其中一个对象的属性时(C1颜色由红变蓝),其他对象相应的属性不会发生改变(C2颜色不变)。
6.匿名对象
匿名对象是对象的一种简化形式。
匿名对象使用两种情况:
(1)当对对象方法仅进行一次调用时。
(2)匿名对象可以作为实际参数进行传递。
示例:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/9189.html