初识面向对象

1.面向过程与面向对象(都是解决问题的思路)

面向过程其实扮演的是 “执行者”----“亲力亲为,凡事都要自己做”

面向对象其实扮演的是 “指挥者”----“凡事都要找别人”

我们在处理问题时可以完全的面向过程,但是不能完全面向对象

面向过程其实是基本的思路,面向对象是基于面向过程的思路

面向对象的好处:可以仿真的模拟现实生活中的事物,可以实现更加复杂的业务逻辑----好处在于,将数据和操作统一起来

面向过程的弊端:费时间费精力,结果不一定最优

2.对象与类

对象:但凡是真实存在的且具体的事物都称为对象;就是由某一个类所描述出来的具体事物

类:具有相同行为和特征的一些具体事物的总称

类主要描述事物的属性--数据表示(成员变量)    行为--函数表示(成员函数)

先在类中创建成员函数和成员变量,在主函数中创建对象(这里的对象指的是由类所描述出来的对象)--如何访问成员?().成员)即可

建议一个类一个.java文件--方便类管理

也就意味着当我们创建一个类的时候,其实就是在自定义一个数据类型

对象就是由一个类所描述的内容从而产生的一个具体的事物   

目前而言创建对象用new关键字 

格式:类名/数据类型  变量名=new 类名();

3.对象的内存图解 I

代码及运行结果:

 

 图解:

 

  (1)在堆内存中开辟一个空间并分配地址----new

  (2)按照类的描述,在该空间(堆内存)中定义成员变量  并且有默认初始化值

   (3)加载(类的)成员函数进入方法区(只加载一次)

   (4)对象创建完毕 将空间地址赋值给相对应的变量

   (5)变量(p1/p2)调用成员变量

               先通过该变量所存储的地址去堆空间中找

               然后在该空间中找相应的成员变量

    (6)变量(p1/p2)调用成员函数

                直接去方法区中找该成员函数

                将该函数加载进栈内存开始运行

                为了方便区分哪个对象调用的该函数--由this这个关键字段 来区分  this主要存的是当前对象的地址

注:当成员函数在操作变量的时候  先在当前函数的空间里找 局部变量 如果没有找到 再去this所指向的堆内存中对象所属空间里找

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值