Java编程思想_笔记

Java编程思想_笔记

ID:42425191

大小:108.50 KB

页数:8页

时间:2019-09-14

Java编程思想_笔记_第1页
Java编程思想_笔记_第2页
Java编程思想_笔记_第3页
Java编程思想_笔记_第4页
Java编程思想_笔记_第5页
资源描述:

《Java编程思想_笔记》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1.Java完全采用了动态内存分配方式,每当想要创建新对象时,就要使用new关键字来构建此对彖的动态实例。(基本类型只是一种特例)。2.Java的垃圾回收器被设计用来处理内存释放问题,垃圾回收器“知道”对象何时不再被使用,并自动释放对象占用的内存。这一点同所有对象都是继承自单根基类Object以及只能以一种方式创建对象(在堆上创建)这两个特性结合起来,使得用Java编程的过程较Z用C++编程要简单得多。3.特例:基本类型,这些基本类型不是用new来创建,而是创建一个并非是引用的“自动”变量,这个变量直接存储“值”,并置

2、于堆栈中,因此更加高效。4.基本类型具有包装器类,使得可以再堆中创建一个非基本对象,用来表示对应的基本类型,JavaSE5的口动包装功能将口动地将基本类型转换为包装器类型,并可以反向转换。5.两个高精度数字:BigintegerBigDecimal,虽然它们大体上属于“包装器类”的范畴,但二者都没有对应的基本类型。不过对于能作用于int或float的操作,也同样能作用于BigintegerBigDecimaL只不过必须以方法调用方式取代运算符方式來实现,以速度换取精度。6.Java中的数组:对于数组对象,实际上就是创建

3、了一个引用数组,并且每个引用都会自动被初始化为一个特定值,该值拥有自己的关键字null。一旦Java看到null,就知道这个引用还没有指向某个对象。在使用任何引用前,必须为其指定一个对象;如果试图引用一个还是null的引用,在运行时将会报错。因此,常犯的数组错误在Java屮就可以避免。对于基本类型的数组,同样,编译器也能确保这种数组的初始化,因为它会将这种数组所占的内存全部置0。7.Java中不允许变量“隐藏”:{intx=12;{intx=96;//Illegal}}8.作用域:对于变量,在作用域定义的变量只可用于作

4、用域结朿之前。作用域用{}來表示。对于对彖的作用域,不像基本类型,当用new创建一个Java对象时,它可以存活于作用域Z外。事实证明,由new创建的对象,只要你需要,就会一直保留下去。9.类的基本类型成员:即使没有进行初始化,Java也会确保它获得一个默认值。当变量作为类的成员使用吋,Java才确保给定其默认值,以确保那些是基本类型的成员变量得到初始化,然而上述确保初始化的方法并不适用于“局部变量”(即并非某个类的字段)。10.Java中传对象都是引用(对于前面提到的基本类型是个例外),字符串中的每个字符的尺寸都是16

5、位或2个字节,以此来提供对Unicode字符集的支持。11.对基本数据类型的赋值是很简单的,基本类型存储了实际的数值,而并非指向一个对象的引用,所以在为其赋值的吋候,是直接将一个地方的内容复制到了另一个地方。但作为对象“赋值”的时候,情况却发生了变化,将一个对象赋值给另外一个对象,实际上是将“引用”从一个地方复制到另一个地方。这意味着假若对对彖使用c=d;那么c和d都指向原本只有d指向的那个对象。12.区分重载的方法:每个重载的方法都必须有一个独一无二的参数类型列表。甚至参数顺序的不同也足以区分两个方法,不过,一般情况

6、下不建议这么做,因为这会使得代码难以维护。涉及基本类型的重载:如果传入的数据类型(实际参数类型)小于方法中声明的形式参数类型,实际数据类型就会被提升。char型略有不同,如果无法找到恰好接受char参数的方法,就会把char直接提升至int型。如果传入的实际参数较大,就得通过类型转换来执行窄化转换,如果不这样做,编译器就会报错。1.在构造器中调用构造器:为了避免重复代码,有时可能想在一个构造器中调用另一个构造器。在构造器中,如果为this添加了参数列表,那么就有了不同的含义,这将产生对符合此参数列表的某个构造器的明确调

7、用。在一个构造器屮:尽管可以用this调用一个构造器,但却不能调用两个,此外,必须将构造器调用至于最起始处,否则编译器会报错。出构造器外,编译器禁止在其他任何方法中调用this构造器。2.终结处理和垃圾回收机制:在Java中的対象却并非总是被垃圾回收:a)对彖可能不被垃圾回收b)垃圾回收并不等于“析构”c)垃圾回收只与内存有关无论是“垃圾回收”还是“终结”,都不保证一定会发生。如果JVM并未面临内存耗尽的情形,它是不会浪费时间去执行垃圾回收以恢复内存的。3.指定初始化:在定义类成员变量的地方为其赋值(注意C++不能这样

8、做,尽管C++的新手们总想这样做)。其至可以调用某个方法来提供初值,这种初始化方法既简单又直观,但有个限制:类的每个对象都会具有相同的初值,有时,这正是所希望的,但有时却需要更大的灵活性。4.初始化顺序:无法阻止自动初始化的进行,它将在构造器被调用之前发生。在内的内部,变量定义的先后顺序决定了初始化的顺序。即使变量定义散步于方法定

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。