Java编程思想(四)初始化和清除
4.1用构建器自动初始化
若某个类中有一个构建器,那么在创建对象时,Java会自动调用哪个构建器 在Java中构建器的名字必须与类名相同,这样可以保证这样一个方法惠子初始化期间自动调用;
利用构建器的自变量,我们可以为一个对象的初始化设定相应的参数。 tree t=new Tree(12) //12英尺高的树
若Tree(int)是我们唯一的构建器,那么编译器不会允许我们以任何方式创建一个Tree对象。
Java中 定义和初始化属于同一的概念 构建器属于一种较为特殊的方法类型,因为他没有返回值。这与void有区别
构建器不仅什么也不会自动返回,而且根本不能有任何选择。若存在一个返回值,而且假设我么可以自行选择返回内容,那么编译器多少要知道如何对那个返回值做什么样的处理
4.2方法过载
由于构建器的名字有类名决定,所以只能有一个构建器名称。但是假若我们希望使用多种方式创建一个对象,该如何?
4.2.1区分过载方法
每个过载方法都必须采取独一无二的自变量类型列表,或者自变量的顺序改变
4.2.2主类型的过载
主(数据)类型能从一个较小的类型自动转变成一个较大的类型。4.2.5
我们关心的不是返回值,而是方法调用的其他效果。所以不能根据返回值类型来区分过载的方法
4.2.4默认构建器
默认构建器是没有自变量的 他们的作用是创建一个“”空对象“”,若创建一个没有构建器 的类,则编译程序会帮我们自动创建一个默认的构建器
4.2.5this关键字
this关键字(只能在方法内部使用)可为已经调用了方法的那个对象生成相应的句柄。
1.在构建器里调用构建器
为避免写重复的代码
尽管可以用this调用一个构建器,但是不可调用;两个。 构建器的调用必须是我们做的第一件事情,否则会受到编译程序的报错信息。
2static 一个特定的方法没有this 我们不可以从一个static方法内部发出对非static方法的调用。
4.3清除 :收尾和垃圾收集 finalize()方法 垃圾收集并不等于“”破坏“”。 我们的对象可能不会当做垃圾被收掉
4.5数组初始化
Java编程思想(四)初始化和清除的更多相关文章
- 《Java编程思想》——初始化与清理(一)读书笔记
第一次写这个,这一章都用word写的,结果复制过来没图片....只能上传word文档了.以后改用markdown比较好 word文档地址:<Java编程思想>--初始化与清理(一)读书笔记
- Java编程思想(四) —— 复用类
看了老罗罗升阳的专訪,不由自主地佩服,非常年轻,我之前以为和罗永浩一个级别的年龄.也是见过的不是初高中编程的一位大牛之中的一个,专訪之后.发现老罗也是一步一个脚印的人. 别说什么难做,做不了.你根本就 ...
- Java编程思想之五初始化与清理
随着计算机革命的发展,"不安全"的编程方式已经逐渐称为编程代价高昂的主因之一. 初始化和清理正是涉及安全的两个问题. 5.1 用构造器确保初始化 通过提供构造器,类的设计者可确保每 ...
- 《java编程思想》 初始化与清理
1.初始化与清理的重要性: 1.许多C程序的错误都源于程序员忘记初始化变量,特别是使用程序库时,如果不知道如何初始化库的构件更容易出错 2.当使用完一个元素时,这个元素就不会有什么影响了,所以很容易就 ...
- (六)《Java编程思想》——初始化及类的加载顺序
package chapter7; /** * 初始化及类的加载顺序:顺序如下 * 1.基类的static变量 * 2.导出类的static变量 * 3.基类的变量 * 4.基类的构造函数 * 5.导 ...
- Java编程思想学习(一)----对象导论中多态的理解
1.1抽象过程 1)万物皆对象. 2)程序是对象的集合,他们通过发送消息来告知彼此所要求做的. 3)每个对象都有自己的由其他对象所构成的存储. 4)每个对象都拥有其类型. 5)某一特定类型的所有对象都 ...
- 《Java编程思想第四版》附录 B 对比 C++和 Java
<Java编程思想第四版完整中文高清版.pdf>-笔记 附录 B 对比 C++和 Java “作为一名 C++程序员,我们早已掌握了面向对象程序设计的基本概念,而且 Java 的语法无疑是 ...
- Java编程思想第四版勘误
坊间传说这本书翻译得很烂,我倒觉得还好.虽然看原文更准确,但是如果在具备一定编程思维和基础.能够看出来疑问的情况下,还是看中文更快一些,而且这本书本身也不适合初学者看.当然,错误和不通顺还是有的,而且 ...
- 《Java编程思想》读书笔记(四)
前言:三年之前就买了<Java编程思想>这本书,但是到现在为止都还没有好好看过这本书,这次希望能够坚持通读完整本书并整理好自己的读书笔记,上一篇文章是记录的第十七章到第十八章的内容,这一次 ...
- JAVA编程思想(第四版)学习笔记----4.8 switch(知识点已更新)
switch语句和if-else语句不同,switch语句可以有多个可能的执行路径.在第四版java编程思想介绍switch语句的语法格式时写到: switch (integral-selector) ...
随机推荐
- openpyxl模块(excel操作)
openpyxl模块介绍 openpyxl模块是一个读写Excel 2010文档的Python库,如果要处理更早格式的Excel文档,需要用到额外的库,openpyxl是一个比较综合的工具,能够同时读 ...
- [linux]sudo 出现unable to resolve host 解决方法
Ubuntu环境, 假设这台机器名字(hostname)叫abc, 每次执行sudo 就出现这个警告讯息:sudo: unable to resolve host abc虽然sudo 还是可以正常执行 ...
- qemu for win64 下载
下载地址:https://qemu.weilnetz.de/w64/ 安装完成后,将安装目录加入到系统环境变量.
- elasticsearch java动态设置mapping并指定分词器
//创建索引 client.admin().indices().prepareCreate("twitter").execute().actionGet(); //配置mappin ...
- 2.4 Go语言基础之切片
本文主要介绍Go语言中切片(slice)及它的基本使用. 一.引子 因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性. 例如: func arraySum(x [3]int) ...
- 回归regression
X-Y存在某种映射关系,回归:确定出关系模型.
- Java同步数据结构之LinkedBlockingQueue
前言 比起ArrayBlockingQueue,LinkedBlockingQueue应该是最被大家常用的阻塞队列,LinkedBlockingQueue是基于链表的一种可选容量的阻塞队列,也就是说, ...
- C之静态内存和动态内存
静态内存: * 自动申请,自动释放* 大小固定,内存空间连续* 从栈上分配的内存叫静态内存 动态内存: * 程序员自己申请 * new/malloc* 大小取决于虚拟内存的大小,内存空间不连续* ja ...
- Eclipse的下载地址
下载地址:http://eclipse.org/
- Session_start的使用
PHP session用法其实很简单它可以把用户提交的数据以全局变量形式保存在一个session中并且会生成一个唯一的session_id,这样就是为了多了不会产生混乱了,并且session中同一浏览 ...