黑马程序员————面向对象初步

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

面向对象初步:

一、成员变量和局部变量内存分配问题:

      当局部变量的代码执行到时,会为其开辟栈内存空间,一旦这段代码执行完毕后,立刻会释放 栈内存,也就是说,本来存在栈内存里面的属性之类的都会消失不见。


 而成员变量不同,只有在new对象时,才会在堆内存中为对象开辟空间,只要这个对象有被类 引用变了指向,那么它就一直存在,当没有引用变量指向它时,它就变成垃圾,但是并不会立  刻销毁,只有等到虚拟机执行垃圾回收机制时,才会释放该对象的堆内存。

二、构造函数和构造代码块的问题:

 构造函数是给对象初始化,也就是说,对象一被new出来,就该具备那些属性。所以构造函数 是最先被执行的。并且这函数不可随意被调用,它只执行一次。

构造代码块是给所有对象初始化,也就是说,所有对象都有相同的属性。构造代码块优先于构 造函数执行。

三、匿名类

 调用熟悉没意义是因为匿名对象没有引用指向,垃圾回收机制会随时将其处理。

 调用方法是可行的,因为方法会执行。

 当匿名对象作为参数传入时,是有引用指向它的,所以它不是垃圾。但是当方法执行完成之 后,就没有引用指向了,该对象会变成垃圾。等待JVM将其回收。


四 、this关键字

 this是代表自己,只有当自己的函数要调用自己函数的对象时,就会使用this。

 this函数必须放在第一行是因为防止用户传进来的数值被this函数修改。

 当函数内嵌初始化函数时,要先执行内部的初始化,再执行自己初始化的函数。

 

              下面是我整理画好的思维导图:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值