首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
初读"Thinking in Java"读书笔记之第五章 --- 初始化与清理
】的更多相关文章
初读"Thinking in Java"读书笔记之第五章 --- 初始化与清理
用构造器确保初始化 构造器可以确保每个对象都会得到初始化,Java毁在创建对象时自动调用构造器. 构造器采用与类名相同的名称,因此并不适合"每个方法首字母小写的风格". 构造器默认调用的是无参构造方法. 构造器没有返回值,与返回值为空(void)不同. 方法重载 方法名相同,形式参数不同的方法为重载方法. 每个重载的方法都必须有一个独一无二的参数类型列表. 参数顺序的不同也可以实现重载,但会使得程序难以维护. 如果传入的实际参数大于重载方法声明的形式参数,就必须通过类型转换来执行窄化转…
初读"Thinking in Java"读书笔记之第七章 --- 复用类
组合语法 将对象引用置于新类中,即形成类的组合. 引用初始化方法 在定义处初始化. 在类的构造器中初始化. 在使用这些对象之前,进行"惰性初始化". 使用实例初始化. 继承语法 Java中所有的类都是在继承,如果没有明确指出继承的类,则就从根类Object中继承. 每个类中都可以有main方法,可以方便单元测试. 即使一个类只具有包访问权限,其public main()仍然是可以访问的. 继承是对类的复用,可以获得所继承的类中的非私有的方法. 采用super关键字可以访问父类(超类)中…
初读"Thinking in Java"读书笔记之第六章 --- 访问权限控制
包:库单元 包内包含有一组类,他们在单一的名字空间下被组织在一起. 通过import ***.***.*可以将某个包下的所有类导入到当前文件中. 每个Java源文件最多只能有一个public类,且名称必须与文件名相同.源文件中的其他类在包外事不可见的,主要用来为public类提供支持. Java的可运行程序是一组可以打包并压缩为一个Java文档文件(jar)的.class文件. package 和import可以将单一的全局名字空间分割开,使得无论多少人使用Java编写类,都不会出现名称冲突问题…
初读"Thinking in Java"读书笔记之第四章 ---控制执行流程
true和false Java不允许将数字作为布尔值使用. 所有条件表达式都将布尔值作为判断条件,决定执行路径. if-lese 迭代 while,do-while,for为三个迭代语句. ,逗号操作符仅会用在for循环的控制表达式当中. 使用逗号操作符可以在for循环控制表达式中定义多个变量,但必须具有相同的类型. Foreach语法 for(float x : f)其中f代表一个装有浮点元素的数组,将每一个元素赋值给x. 用于访问数组和容器,不需要创建变量进行计数. return语句 指定一…
初读"Thinking in Java"读书笔记之第三章 --- 操作符
更简单的打印语句 导入自己编写的静态类库,即可使用print();打印 使用Java操作符 操作符:+,-,*,/,=,==,!=,+=,?:,%等 几乎所有操作符都只能操作"基本类型",但是=,==,!=例外 String类支持+和+=.+的作用是将字符串拼接,同时若需要进行类型转换时,会将非String类转换成String类. 优先级 先乘除后加减 其余处应使用括号明确指出优先级. 赋值 =为赋值操作符. 左值必须是一个明确的,已命名的变量,用来保证有一个物理空间能保存右值. 右值…
初读"Thinking in Java"读书笔记之第二章 --- 一切都是对象
用引用操纵对象 Java里一切都被视为对象,通过操纵对象的一个"引用"来操纵对象. 例如, 可以将遥控器视为引用,电视机视为对象. 创建一个引用,不一定需要有一个对象与之关联,但此时使用该引用会出错. 遥控器可以独立存在,但是没有电视机,使用遥控器没有意义. 必须由你创建所有对象 存储数据或代码的地方 寄存器:位于CPU内部,速度最快.JAVA语言无法直接控制寄存器. 堆栈:位于DRAM中,通过栈顶指针来辨别内存是否被使用.创建程序时,JAVA系统必须知道存储在堆栈内所有项的确切生命周…
初读"Thinking in Java"读书笔记之第九章 --- 接口
抽象类和抽象方法 abstract void f();抽象方法是仅有声明而没有方法体的方法. 包含抽象方法的类叫做抽象类,如果一个类包含了一个抽象方法,则该类必须限定为抽象类. 抽象类和抽象方法可以使类的抽象性更加明确. 继承抽象类的类,在运行时不需要 向下转型. 接口 interface关键字用于产生一个完全抽象的类.其中不存在任何提供具体实现的方法. 可以在interface前面添加public,但这仅当接口名与文件名相同时才可以. 接口可以包含域,但他们是隐式定义为static和final…
初读"Thinking in Java"读书笔记之第八章 --- 多态
再论向上转型 在某些方法中,仅接收基类作为参数,而不是特殊的导出类,会使得程序更容易扩展. 转机 方法调用绑定 前期绑定(编译期绑定):在编译期将一个方法调用和方法主体关联起来. 后期绑定(动态绑定或运行时绑定):在程序运行阶段,判断对象类型,将方法调用与方法主体绑定. Java中除static方法和final方法外,其他所有的方法都是后期绑定. 只有非private的方法才可以被覆盖:与private重名的方法,是一个全新的方法. 只有普通的方法调用时多态的.如果访问某个成员变量,则在编译期就…
Think In Java读书笔记:内部类覆盖及其初始化
本文相关章节:第十章 内部类 10.10 内部类可以被覆盖吗 在读至本节第二个范例代码时(及下方的代码),我对输出结果中的第一个“Egg.Yolk()”很不理解,为什么它会第一个地方输出. 我起初认为是在调用BigEgg.Yolk的构造器时初始化其父类调用父类构造器输出的,毕竟在main方法中第一行是在调用BigEgg的构造器,而它的构造器中首先调用了BigEgg.Yolk的构造器,在调用BigEgg.Yolk构造器时初始化其父类Egg.Yolk才输出的“Egg.Yolk()”.但书中却明确说明…
【Head First Java 读书笔记】(五)编写程序
第五章 编写程序 伪码:伪码能帮你专注于逻辑而不需要顾虑到程序语法 测试码:测试用的程序代码 真实码:实际代码 伪码 伪码是介于真正的java程序与正常英语之间的一种语言.伪码大致包括3部分:实例变量的声明.方法的声明.和方法的逻辑.伪码最重要的部分是方法的逻辑. 测试码 测试代码写在编写方法之前.先编写测试用程序代码的概念来自于极限编程(XP). 极限编程(XP):一种新型的软件开发方法论.XP规则 关于for循环 基本for循环 for(int i = 0;i<100;i++){} 第一段:…