《编程思想》
书籍笔记
LLigj_supper
keep running
展开
-
《编程思想》1.对象导论
1.多态(1)当move()方法被调用时,即便忽略Bird的具体类型,也会产生正确的行为(Goose走,飞或游泳)(2)Answer : 面向对象程序设计语言使用了后期绑定的概念。当向对象发送消息时,被调用的代码直到运行时才能确定。编译器确保被调用方法的存在,并对调用参数和返回值执行类型检查,但是并不知道将被执行的确切代码。为了执行后期绑定,Java使用一小段代码来替代绝对地址调用。这...原创 2018-09-13 12:44:41 · 110 阅读 · 0 评论 -
《编程思想》2.一切都是对象
1.数据存储寄存器: 最快的存储区,位于处理器内部。但寄存器的数量及其有限,所以寄存器根据需求进行分配 堆栈:位于随机访问存储器中,通过堆栈指针可以从处理器那里获得直接支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。这是一种快速有效的分配存储方法,仅次于寄存器。创建程序时,Java系统必须知道存储在堆栈内所有项的确切生命周期,以便于上下移动堆栈指针。这一约束限制了程序的...原创 2018-09-19 10:03:09 · 147 阅读 · 0 评论 -
《编程思想》3.操作符
1. 几乎所有的操作符都只能操作基本类型,例外的操作符是"=","=="和”!=“,这些操作符能够操作所有的对象,除此以外,String类支持"+"和"+="。 2.当编译器观察到一个String后面紧跟一个"+",而这个"+"的后面又紧跟一个非String类型的元素时,就会尝试着将这个非String类型的元素转换为String。 3.基本类型存储了实际的数值,而并非指向一原创 2018-09-19 16:08:10 · 72 阅读 · 0 评论 -
《编程思想》4.控制执行流程
逗号操作符:(注意不是逗号分隔符,逗号用作分隔符时用来分隔函数的不同参数),Java里唯一用到逗号操作符的地方就是for循环的控制表达式。在控制表达式的初始化和步进控制部分,可以使用一系列有逗号分隔的语句;而且那些语句均会独立执行。for(int i = 1,j=2;..) break & continuebreak强行退出循环,不执行循环中剩余的语句。而continue则...原创 2018-09-19 17:53:06 · 131 阅读 · 0 评论 -
《编程思想》5.初始化与清理
方法重载:1. 当创建一个对象时,也就给此对象分配到的存储空间取一个名字。所谓方法则是给某个动作取的名字。通过使用名字,你可以引用所有的对象和方法2.每个重载的方法都必须有一个独一无二的参数类型列表。参数顺序的不同也足以区分两个方法。不过一般情况下别这么做,因为这会使代码难以维护。3.涉及基本类型的重载:如果传入的数据类型(实际参数类型)小于方法中声明的形式参数类型,实际数据类型就...原创 2018-09-20 09:53:18 · 112 阅读 · 0 评论 -
《编程思想》6.复用类
1.每个编译单元都必须有一个后缀名.java,而在编译单元则可以有一个public类,每个编译单元只能有一个public类,否则编译器就会接受2.组合语法:只需将对象引用置于新类中即可。public class WaterSource { private String s ; WaterSource(){ System.out.println("WaterSource()"); s...原创 2019-01-27 14:23:59 · 90 阅读 · 0 评论 -
《编程思想》7.多态
这种把对某个对象的引用视为对其基类型的引用的做法被称作向上转型----因为在继承数的画法中,基类是放置在上方的。public class Test { public enum Note{ MIDDLE_C , C_SHARP , B_FLAT ; } class Instrument{ public void play(Note n...原创 2019-01-27 14:25:32 · 128 阅读 · 0 评论 -
《编程思想》8.接口
一.抽象类和抽象方法1.建立这个通用接口的唯一理由是,不同的子类可以用不同的方法表示此接口。2.如果一个类包含一个或多个抽象方法,该类必须被限定为抽象。成为抽象类并不需要所有的方法都是抽象的,仅需将某些方法声明为抽象的即可。interface Instrument1 { int VALUE = 5 ; //在该类中没有任何方法被声明为是public的,但是它们自动就都是public...原创 2019-01-27 14:28:35 · 92 阅读 · 0 评论 -
《编程思想》9.内部类
一.创建内部类(1)内部类了解外围类,并能与之通信(2)创建内部类方式:把类的定义置于外围类的里面public class Parcel1 { //内部类1 class Contents{ private int i = 11 ; public int value(){ return i ; } } //内部类2 class Destination{ ...原创 2019-01-27 14:29:53 · 77 阅读 · 0 评论 -
《编程思想》10.持有对象
.java文件通常被称为编译单元,每个编译单元只能有一个public类,否则编译器就不会接受。类中域为基本类型时自动被初始化为零,但是对象引用会被初始化为nullJava用super关键字表示超类的意思,表达式super.scrub()将调用基类版本的scrub()方法final关键字:一个永不改变的编译时常量,一个在运行时被初始化的值,而你不希望它被改变。这类常量必须是基本...原创 2019-01-27 14:31:04 · 76 阅读 · 0 评论 -
《编程思想》11.泛型
1 . 泛型的主要目的之一就是用来指定容器要持有什么类型的对象。2 . 简单泛型(1)有许多原因促成了泛型的出现,而最引人注目的一个原因就是为了创造容器类。public class Holder3<T> { private T a ; public Holder3(T a){ this.a = a ; } public void s...原创 2019-01-27 14:33:42 · 121 阅读 · 0 评论