随笔分类 -  Thinking in Java

Java编程思想部分基础知识讲解-读后感
摘要:1. Java中的每个类从根本上都继承自Object,标准容器类自然也不例外。因此容器都有toString()方法,并且覆盖了该方法,使得它生成的String结果能够表达容器自身,以及容器所包含的对象。例如ArrayList.toString(),它会遍历ArrayList中包含的所有对象,调用每个 阅读全文
posted @ 2019-07-20 08:55 白玉神驹 阅读(140) 评论(0) 推荐(0)
摘要:Java异常处理机制:try catch try{ 代码片段 }catch(XXXException e){ 处理try代码片段中出现的xxxException }catch(Exception e){ ... } 通常在最后一个catch中捕获Exception,防止中断 try的()中只能定义实 阅读全文
posted @ 2019-07-19 06:42 白玉神驹 阅读(958) 评论(0) 推荐(0)
摘要:各种集合的线程安全 线程安全(Thread safe)的集合对象: Vector HashTable StringBuffer 非线程安全的集合对象: ArrayList : LinkedList: HashMap: HashSet: TreeMap: TreeSet: StringBulider: 阅读全文
posted @ 2019-07-14 14:01 白玉神驹 阅读(373) 评论(0) 推荐(1)
摘要:11.4 容器的打印 一些基本类型的容器 //: Holding/PrintingContainers.java // Containers print themselves automatically. import java.util. ; public class PrintContainer 阅读全文
posted @ 2019-07-13 09:30 白玉神驹 阅读(127) 评论(0) 推荐(0)
摘要:接口是实现多重继承的途径,而生成遵循某个接口的对象的典型方式就是工厂方法设计模式。这与直接调用构造器不同,我们在工厂对象上调用的是创建方法,而该工厂对象将生成解耦的某个实现的对象。理论上,通过这种方式,我们的代码将完全与接口的实现分离,这就使得我们可以透明地将某个实现替换为另一种实现。下面的实例展示 阅读全文
posted @ 2019-07-09 09:24 白玉神驹 阅读(198) 评论(0) 推荐(0)
摘要:在导出类中,不强制要求必须有一个是抽象的或“具体的”(没有任何抽象方法的)基类。如果要从一个非接口的类继承,那么只能从一个类去继承。奇遇的基元素都必须是接口。需要将所有的接口名都置于implements关键字之后,用都好将他们一一隔开。可以继承任意多个接口,并可以向上转型为每个接口,因为每一个接口都 阅读全文
posted @ 2019-07-08 08:37 白玉神驹 阅读(824) 评论(0) 推荐(0)
摘要:由于向下转型(在继承层次中向上移动)会丢失聚类的类型信息,所以我们就想,通过向下转型 也就是在继承层次中向下移动 应该能够获取类型信息。然而,我们知道向上转型是安全的,因为基类不会具有大于导出类的接口。因此,我们通过基类接口发送的消息保证都能被接受。但是对于向下转型,例如,我们无法知道一个“几何形状 阅读全文
posted @ 2019-07-06 07:03 白玉神驹 阅读(328) 评论(0) 推荐(0)
摘要:8.3.1 构造器的调用顺序 让我们来看下面这个例子,它展示组合、继承以及多态在构建顺序上作用: //: polymorphism/Sandwich..java // Order of constructor calls. package polymorphism; class Meal { Mea 阅读全文
posted @ 2019-07-04 08:51 白玉神驹 阅读(205) 评论(0) 推荐(0)
摘要:在Java SE5中添加了一个看似很小的特性,即enum关键字,它使得我们在需要群组并使用枚举类型集时,可以很方便地处理。在此之前,你需要创建一个整型常量集,但是这些枚举值并不会必然将其自身的取值限制在这个常量集的范围之内,因此它们显得更有风险,且更难以使用。枚举类型属于非常普遍的需求,C、C++和 阅读全文
posted @ 2019-07-01 11:28 白玉神驹 阅读(271) 评论(0) 推荐(0)