Thinking in java 个人笔记 第二章(持续更新ing)

第二章   一切都是对象

1.一个比较新的概念,“引用”,有一个比较形象的例子,遥控器(引用)来操纵电视机(对象)。只要握住这个遥控器,就能保持与电视机的连接,当我们想要电视机做些什么动作时,只要通过遥控器才操作就可以了。此外,即使没有电视机,遥控器也可以独立存在,若此时想要使用这个遥控器的时候,就会出现异常(NullPointerExcetion),所以,一个比较良好的习惯就是在创建一个引用时的同时将其实例化。


2.存储知识:(1)寄存器,这个是最快的存储区,这片区域位于处理器内部,但是存储空间有限,所以寄存器是根据需求分配,你所不能控制(2)堆栈(RAM,随机访问存储器),这是用于存储我们声明的引用,堆栈指针若向下移动,则分配新的内存,若向上移动时,则释放那些内存(3)堆,我们所new出来的对象所在,在堆中分配存储具有较大的灵活性,但是在分配以及清理过程中较堆栈需要更多的时间(4)常量存储,常量值通常直接存放在程序内部的代码中,因为这是比较安全的(5)非RAM存储,两个最基本的例子是流对象和持久化对象。(依次减慢)


3,作用域,这决定了在其内定义的变量名的可见性以及生命周期,一般以一对“{}”为分界线;对象的作用域不具备和基本类型一样的生命周期,当用new创建一个对象时,它可以存活与作用域之外,以为其所指向的对象仍继续占据内存空间。


4.基本成员默认值,当变量作为类的成员使用时,java才确保给定其默认值,若在一个方法中定义一个变量却不给定其默认值时,它的初始值可能是任意值。


5.方法名和参数列表合起来称为“方法签名”,方法只能通过对象才能调用,且这个对象必须能执行这个方法调用,返回值也必须与相应的值类型兼容。


6.static关键字,执行new来创建对象时,数据存储空间才被分配,其方法才供外界调用,当声明一个事物是static时,就以为这个域或者方法不会与包含它的那个类的任何对象实例关联在一起,所以,即使从未创建某个类的任何对象,也可以调用其static方法或者其static域;另外,若创建两个static对象(static.i1,static.i2),其值也是只有一份存储空间。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值