Thinking In Java
huy8989
千里之行 始于足下
展开
-
操作符
<br />3.4<br />基本类型的赋值很简单就是直接将一个地方的值赋值到了另一个地方去。<br />但是在对象赋值的时候却不一样,进行对象赋值的时候我们真正操作的是对象的引用。实际是将“引用”从一个地方复制到了另一个地方,对象c=d c和d都只指向了原来d指向的那个对象,c.i=1 d.i也会变成1<br />3.8<br />与c c++不同的是不可将非布尔值在逻辑表达式中使用<br />短路问题:在逻辑操作符使用时,一旦可以明确整个表达式的值 就不再计算余下的表达式部分了。<br />原创 2011-03-30 22:17:00 · 251 阅读 · 0 评论 -
一切都是对象---笔记
2.2.11)寄存器:在处理器内部,数量及其有限,所以不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。2)堆栈:位于RAM中,可以通过对栈指针从处理器那里获得直接支持,指针向下移动,分配新内存空间,向上移动释放内存,是一种有效的分配存储方式,仅次于寄存器。但是在创建程序时,java系统必须知道堆栈所有项的确切生命周期,但这以约束限制了程序的灵活性,所以 java引用存储在堆栈中 而java对象并不存储其中。3)堆:同样位于RAM中,相对于堆栈的好处是编译器不需要知道数据在堆内的确切时间。因此有很大的原创 2011-03-30 21:43:00 · 297 阅读 · 0 评论 -
初始化与清理
<br />5.1<br />由于构造器的名称必须与类名完全相同<br />5.2<br />每个重载的方法都必须有一个独一无二的参数类型列表,甚至参数顺序不同也足以区分两个方法。而不能通过返回值区分重载方法<br />5.3默认构造器<br />如果类中没有构造器,编译器会自动帮助创建一个构造器,但是假如已经定义了一个构造器(无论是否有参数)编译器都不会自动创建构造器。这就是编译器假定你自己知道自己在做什么可以省略了默认构造器。<br />5.4this关键字<br />this只能在方法内部作用,表示对原创 2011-04-10 23:46:00 · 397 阅读 · 0 评论 -
访问权限控制
<br /> package语句必须是文件中的第一行非注释程序代码<br />访问权限的控制常被称为是具体实现的隐藏。把数据和方法包装进类中,以及具体实现的隐藏,长共同被称作封装。<br />1.每个编译单元(文件)都只能有一个public类。<br />2.public类的名称必须是完全与含有该编译单元的文件名相匹配,包括大小写。<br />3.虽然不是很常用,但编译单元内完全不带public类也是可能的。<br /> <br />类既不可以是private也不可以是protected的(内部类除外),访原创 2011-04-11 09:56:00 · 346 阅读 · 0 评论 -
复用类
<br />7.1<br />编译器并不是简单的为每一个对象都提供默认对象,否则在许多情况下回增加不必要的负担,如果想初始化这些引用:<br />1.在定义对象的地方,这样可以保证在构造器调用之前被初始化<br />2.在类构造器中<br />3.在使用这些对象之前,这种方式成为惰性初始化。在生成对象不值得及不必要每次都生成对象情况下,减少额外负担<br />4.使用实例初始化。<br />7.2<br />带参数的构造器<br />如果没有默认的基类构造器,或者想调用带有参数的构造器,就必须用super显原创 2011-04-11 14:32:00 · 244 阅读 · 0 评论