1.面向过程思想特点与面向对象思想特点
面向过程:其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。
面向对象是基于面向过程的编程思想。
面向对象:就是不断的创建对象,使用对象,指挥对象做事情。(如果有对象,直接用对象,对我们直接提供服务)
A:面向过程特点:
强调的是过程,所有事情都需要自己完成
B:面向对象特点:
是一种更符合我们思想习惯的思想(懒人思想,我把事情自己不做,交给别人去做)
可以将复杂的事情简单化(对使用者来说简单了,对象里面还是很复杂的)
将我们从执行者变成了指挥者角色发生了转换
举例:
买电脑:
面向过程:我要买电脑--我要明确买电脑的意义--上网查对应的参数信息--去中关村买电脑--讨价还价--买回电脑
面向对象:我要买电脑--班长去给我买电脑--买回电脑
洗衣服:
面向过程:把衣服脱下来--找一个盆--放点洗衣粉--加点水--浸泡10分钟--揉一揉--清洗衣服--拧干--晾起来
面向对象:把衣服脱下来--打开全自动洗衣机--扔衣服--按钮--晾起来
*2.对象的内存图
3.成员变量和局部变量区别:
A:在类中的位置不同
成员变量:类中,方法外
局部变量:方法中或者方法声明上(形式参数)
B:在内存中的位置不同
成员变量:堆内存
局部变量:栈内存
C:生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
D:初始化值的问题
成员变量:有默认值
局部变量:没有默认值。必须先定义,赋值,最后使用
4.this关键字
方法被哪个对象调用,this就代表那个对象
使用场景:局部变量隐藏成员变量
*5.构造方法
构造方法:
给对象的数据进行初始化
格式:
方法名和类名相同
没有返回值类型,连void都不能写
没有具体的返回值
构造方法的注意事项:
A:如果我们没有给出构造方法,系统将会提供一个默认的无参构造方法供我们使用。
B:如果我们给出了构造方法,系统将不在提供默认的无参构造方法供我们使用。
这个时候,如果我们想使用无参构造方法,就必须自己提供。
推荐:自己给无参构造方法
C:构造方法也是可以重载的