JAVA中什么是面向对象

Python013

JAVA中什么是面向对象,第1张

在java的学习中,面向对象应该是java技术的重中之重,虽然在生活中没有对象可以面对,但在技术中还是要一直接触面对对象,而且不可避免。今天对面向对象来了一个小总结。

一、面向对象的特点:

1、将复杂的事情简单化。

2、面向对象将以前的过程中的执行者,变成了指挥者。

3、面向对象这种思想是符合现在人们思考习惯的一种思想。

过程和对象在我们的程序中是如何体现的呢?过程其实就是函数;对象是将函数等一些内容进行了封装。

二、匿名对象使用场景:

1、当对方法只进行一次调用的时候,可以使用匿名对象。

2、当对象对成员进行多次调用时,不能使用匿名对象。必须给对象起名字。

三、在类中定义其实都称之为成员。成员有两种:

1、成员变量:其实对应的就是事物的属性。

2、成员函数:其实对应的就是事物的行为。

所以,其实定义类,就是在定义成员变量和成员函数。但是在定义前,必须先要对事物进行属性和行为的分析,才可以用代码来体现。

四、类中怎么没有定义主函数呢?

注意:主函数的存在,仅为该类是否需要独立运行,如果不需要,主函数是不用定义的。主函数的解释:保证所在类的独立运行,是程序的入口,被jvm调用。

五、成员变量和局部变量的区别:

1、成员变量直接定义在类中;局部变量定义在方法中,参数上,语句中。

2、成员变量在这个类中有效;局部变量只在自己所属的大括号内有效,大括号结束,局部变量失去作用域。

3、成员变量存在于堆内存中,随着对象的产生而存在,消失而消失;局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放。

六、构造函数和一般函数有什么区别呢?

1、两个函数定义格式不同。

2、构造函数是在对象创建时,就被调用,用于初始化,而且初始化动作只执行一次。

一般函数,是对象创建后,需要调用才执行,可以被调用多次。

七、创建一个对象都在内存中做了什么事情?

1、先将硬盘上指定位置的Person.class文件加载进内存。

2、执行main方法时,在栈内存中开辟了main方法的空间(压栈-进栈),然后在main方法的栈区分配了一个变量p。

3、在堆内存中开辟一个实体空间,分配了一个内存首地址值。new

4、在该实体空间中进行属性的空间分配,并进行了默认初始化。

5、对空间中的属性进行显示初始化。

6、进行实体的构造代码块初始化。

7、调用该实体对应的构造函数,进行构造函数初始化。

8、将首地址赋值给p ,p变量就引用了该实体。(指向了该对象)

面向对象的简单理解就是,你可以把现实中的每一件物品都看作是一个对象,这个物品的信息看作是对象属性,物品功能看作是对象方法

比如,身份证,这是一个对象,身份证上的姓名,籍贯地址,开卡所,有效期等等信息看作是这个对象的属性,身份证可以刷卡,那么刷卡这个动作就是身份证对象的方法/事件

再比如你开的车子,车子本身是对象,车辆类型,购买时间,里程数,手动/自动,耗油数,座位数,等等这些属于这两车子的信息都是属性,前进,转弯,后退,这些动作都是车辆方法比如保养,年审,事故,修改里程公里数等等这些东西也是车辆的方法,但也同时是车辆的事件,所以这里单独称为事件方法,事件是方法,方法不一定是事件.不知道说的清楚吗