1.照mindview.net网站的提示安装ant,以编译源代码,这只是最方便的方式2.在eclipse中新建项目后,项目右键--properties--java buildpath中增加上上一步设置的classpath
原创
2013-05-11 19:55:11
628阅读
1、多态 将方法调用同方法主体关联起来的操作叫做绑定(分派)。 前期绑定:程序执行前由编译器和链接程序实现的绑定。 后期绑定:在运行时根据对象的类型确定调用方法。 Java中除了static方法和final方法外(private方法属于final方法),都是后期绑定的(构造器隐式地为static的) ...
转载
2021-09-17 12:49:00
25阅读
2评论
1、抽象类和抽象方法 包含抽象方法的类叫做抽象类。只要类中包含抽象方法,就要声名为抽象类。 导出类会继承基类的所有方法,因此如果没有覆写(实现)基类中的所有抽象方法, 就必须声名为抽象类。 2、接口 interface声名一个接口,接口是比抽象类更加抽象的存在。 除了默认方法和静态方法,接口中的其他 ...
转载
2021-09-17 12:48:00
23阅读
2评论
1、不可变String String对象是不可变对象,每一次修改都会创建新的String对象。 使用+拼接字符串时,也是不断创建新的字符串对象的。 为了更高效的拼接字符串,应该使用StringBuilder对象,特别是在循环中拼接时。 2、对象的打印——toString() 当直接打印对象时,会自动 ...
转载
2021-09-18 15:13:00
39阅读
2评论
1、创建和实例化内部类 可以将一个类的定义放在另一个类的内部,这就是内部类。 把类的定义放在外围类的里面,这就创建了一个内部类。 内部类持有指向其外围类的引用,这是在编译时自动添加上去的。 所以,内部类自动拥有对其外围类的所有成员的访问权限(包括private成员)。 可以 .this获取内部类引用 ...
转载
2021-09-17 12:48:00
21阅读
2评论
1、组合和继承 A is-a B:A、B本质上是一个东西。——继承 A has-a B: B是A的一部分,但它们不是一回事。——组合 组合复用了功能,而非形式。 继承不只是复制基类的接口和字段,当创建一个导出类对象时,该对象中包含了一个基类的子对象。 所以,要对基类子对象进行初始化,在导出类构造器中 ...
转载
2021-09-17 12:49:00
41阅读
2评论
1、摘要 发现错误的最好时机是在编译时,在程序运行之前发现的错误容易修改,且修改的代价小。 但是,如果程序在运行时发生错误怎么办? 对于没有错误处理机制的代码,它将直接退出。 稍微改进一点,就是在退出时,返回错误码,允许人们通过错误码来检查错误。(错误码怎么设计完全取决于实现者,难以统一) 更进一步 ...
转载
2021-09-17 12:47:00
30阅读
2评论
1. 2. Class : CountDownLatchDemo 3. Console : 4. 鸣谢: 啦啦啦
转载
2017-11-28 21:20:00
43阅读
2评论
1. 吐司BlockingQueue 考虑下面这个使用BlockingQueue的示例。有一台机器具有三个任务:一个制作吐司,一个给吐司抹黄油,另一个在抹过黄油的吐司上吐果酱。我们可以通过各个处理过程之间的BlockingQueue来运行这个吐司制作程序: 2. class : 3. Console
转载
2017-11-25 23:14:00
66阅读
2评论
1、构造器保证初始化 没有定义构造器时,编译器会生成一个默认构造器(无参构造器);但是,当自己定义了有参构造器时,编译器不会生成默认构造器,调用new时,必须传入匹配的参数。 2、方法重载 每个重载的方法都具有独一无二的参数列表(类型、顺序)。 3、this关键字 调用对象方法时,编译器把对象的引用 ...
转载
2021-09-17 12:46:00
39阅读
2评论
《Think in java·第 7 章 多形性》
【面向对象的程序设计语言三种最主要的特征:数据抽象、继承和多态】
在这个层面是没有什么“思想”好谈的!当你依照人们熟悉的、习惯的思维方式,去思考“构造和组织”程序时,你可能会认为非常自然——你具有面向对象的思想;或者,有人X依照人们熟悉的、习惯的(人的而非机器的)思维方式。给你介绍、解释数据抽象、继承和多态时,你认为贴近生活和人的思考习惯、
转载
2021-08-06 16:04:52
22阅读
《Think in java·第 6 章类再生》 读TIJ -1 对象入门 中已经就代码复用性吐槽了,不再反复。继承关系在结果上(而不是为了代码复用而设计继承关系)为代码复用提供了新的途径。 本章看其文件夹就比較杂,程序猿的内聚思想去哪儿了?合成复用优先——合成、继承,为什么实现继承是不好的…… 6
转载
2017-07-26 09:24:00
75阅读
2评论
1. 通过输入/输出在线程间进行通信通常很有用。提供线程功能的类库以“管道”的形式对线程间的输入/输出提供了支持。它们在Java输入/输出类库中的对应物就是PipedWriter类(允许任务向管道写)和PipedReader类(允许不同任务从同一个管道中读取)。这个模型可以看成是“生产者 - 消费者
转载
2017-11-26 18:51:00
51阅读
2评论
转:http://greggordon.org/java/tij4/solutions.htm
转载
2023-07-18 09:31:14
80阅读
[java] view plaincopy
package com.frank.chapter1;
// object.Documentation1.java
// TIJ4 Chapter Object, Exercise 13 - 1
/* Run Documentation1.java, Documentation2.java and Documentation3
转载
2014-05-21 23:13:00
42阅读
2评论
Thinking in Java 4th 中、英文两版pdf文档,书中源码及课后习题答案。 链接:https://pan.baidu.com/s/1knj4bwrw2c_w0jdtGmMShw 提取码:umrp http://greggordon.org/java/tij4/
转载
2019-12-29 10:09:00
167阅读
点赞
2评论
package com.frank.chapter1;
// object.Documentation1.java
// TIJ4 Chapter Object, Exercise 13 - 1
/* Run Documentation1.java, Documentation2.java and Documentation3.java
* through Javadoc. Verify t
JAVA 编程思想的源代码运行
新手,费了一下午的力气,终于将TIJ4的源代码在我的机器上跑起来了。年初买这本书的时候,弄过一下,但是没成功。问题就是,作者的写的包无法导入。导致作者自己的定义的类无法使用,这直接使我无法立刻运行书上的例子,最后中断了TIJ4的学习。
下面说说我之前为什么没有成功吧
原创
2012-08-18 00:53:15
1873阅读
package com.heima.first;
// object.Documentation1.java
// TIJ4 Chapter Object, Exercise 13 - 1
/* Run Documentation1.java, Documentation2.java and Documentation3.java
* through Javadoc. Ver
// 析构函数: // 程序退出,finalize()一定会执行; //? //注意System.gc();调用不同实例的finalize()的顺序。 *** *** // 这一部分的代码示例,见TIJ4的5.7.2节 ...
转载
2021-07-12 18:24:00
84阅读
2评论