`
joe1100
  • 浏览: 29727 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Thinking in Java读书笔记(9-13章)

    博客分类:
  • JAVA
阅读更多

第九章.接口
1、抽象类:一个类包含抽象方法,这个类必须声明为抽象类。如果一个类继承抽象类那么就必须为每一个抽象方法提供方法定义,否则这个新类也必须声明为抽象类。不能为

2、接口:创建接口时可以在接口前面加public,如果不加则这个接口只具有包访问权限,接口内部方法默认都是public的,

3、使用接口的原因:能够向上转型为多种基本类型,防止客户端程序创建该类的对象。

4、当一个类继承父类包含有接口里面的方法时不需要实现相同的方法。

5、组合接口可以很容易在接口中添加新的方法名,但是在继承的多个接口中最好不要使用相同的方法名。这回造成程序代码可读性差。

6、接口中的域是static和final的。而且不能是"空final",但是可以被常量表达式初始化。这些域不是接口的一部分,他们的值被存储在该接口的静态存储区域内。


第十章.内部类
1、内部类是一种名字隐藏,在非static时当生成一个内部类对象时,此对象和他的外围对象之间就有了一种联系,它能够访问外围对象的所有成员(包括private)而不需要任何特殊条件。

2、使用.this与使用.new
非static如果需要在内部类中生存对外部对象的引用 可以采用DotThis.this这种方式。如果需要创建某个内部类的对象可以采用外部类.new 内部类构造方法的方式获得。如dn.new Inner();也就是说内部类的创建必须依赖于外部类的
对象。静态内部类的创建不需要外部类的引用。

3、当一个内部类被定义为private时,在它的外部类之外是无法使用的。

4、局部内部类:定义在方法内部的类。

5、匿名内部类:它可以扩展有非默认构造器的类,可以对字段进行初始化,可以通过实例初始化构造器。

6、普通内部类对象隐式地保存了一个指向创建它的外部类的对象。静态内部类通常称为嵌套类,它的对象创建并不需要依赖与外部类对象,而且不能从嵌套类的对象中访问非静态的外围类对象。


第十一章.持有对象
1、集合框架简单描述
List:按照插入的顺序保存元素,可以有重复元素
Set:不能有重复元素
Queue:按照排队规则来确定对象产生的顺序,通常情况下是与插入顺序相同
Map:一组键值对对象,允许通过键来查找值。他也被称为“关联数组”、“字典”。

2、Arrays.asList(),Collections.addall(),Collection.addAll()
前两个更灵活,可以接受可变参数,而最后一个只能接受Collection对象作为参数。

3、ListIterator
ListIterator是一个更加强大的Iterator子类型,它只能用于List类型数据的访问,它可以向前向后移动,可以通过List.ListIterator()产生一个指向list起始位置的ListIterator 也可以通过调用List.ListIterator(n)产生指向n的ListIterator。

4、LinkedList
因为是链表结构数据插入移除比较快,随机访问比较慢。

5、foreach语句可以用于数组或其他任何Iterable。

第十二章.异常处理

1、异常处理过程:
首先系统会在堆上面创建一个异常对象,然后是当前执行路径被终止并且从当前环境中弹出对异常对象的引用,此时异常处理机制接管程序并寻找异常处理程序然后冲错误状态恢复,程序换一种方式执行或者继续运行下去。

2、异常处理理论上有两种基本模型:终止模型和恢复模型,终止模型无法回到出现异常的程序,恢复模型可以重新回到程序继续执行。

3、重新抛出异常:抛出异常同一try块的后续catch子句将被忽略,异常的所有信息都会得以保存。

4、异常链:经常会在捕获一个异常之后抛出一个异常并且希望把原始异常信息保存下来,这样可以将异常传入抛出异常的构造函数。

5、RuntimeException
编译器并没有在编译时对运行时异常进行强制检查,java发现出现RuntimeException时会进行自动抛出异常。所以在抛出RuntimeException时是不需要进行捕获的。因此只能在代码中忽略RuntimeException异常及其子类异常,
RuntimeException代表的是无法预料的错误,应该程序员进行仔细检查的错误。

6、当覆盖方法的时候,只能抛出在其基类方法的异常说明里面列出的那些异常。

7、finally的作用是可以对一些资源进行关闭和回收,如文件的关闭、网络连接、jdbc连接的关闭。


第十三章.字符串
1、String对象是不可变的,String类每一个会返回String值的方法都是新建了一个String对象,如果返回的String值与原对象一样,则会拷贝一份引用返回这样可以节省存储空间。

2、格式化输出:Java SE5之后推出了格式化输出功能,System.out.formart()可以用于PrintStream与PrintWriter对象。
   在java中所有新的格式化功能都是由java.util.Formatter类处理。

3、正则表达式:
正则表达式是一种强大而灵活的文本处理工具,使用正则表达式可以能够以编程的方式构造复杂的文本模式,并对输入的字符串进行搜索。可以用正则表达式来做的事情分别有:匹配、选择、编辑以及验证。
贪婪模型:量词总是贪婪的,除非有其他的选项被设置,贪婪表达式会为所有可能的模式发现尽可能多的匹配。
组:组使用括号划分的正则表达式,可以根据组的编号来引用某个组,组号为0表示整个表达式,组号为1表示第一对括号括起来的组,依次类推。

4、Scanner
Java SE5新增了Scanner类,它可以大大减轻少莫敖输入的工作负担。Scanner的构造器可以接受任何类型的输入对象,包括File对象、InputStream、String等。
分享到:
评论

相关推荐

    Thinking in Java读书笔记

    ### Thinking in Java 读书笔记知识点总结 #### 一、万事万物皆对象 1. **对象存储位置** - **寄存器**:程序无法直接控制。 - **栈(Stack)**:存储基本类型数据和对象引用,但对象本身不在此处。 - **堆(Heap)...

    王者归来之Thinking in java读书笔记

    通过阅读《王者归来之Thinking in Java读书笔记》,你可以系统地掌握Java编程的核心知识,理解编程思想,提高解决问题的能力。无论是初学者还是经验丰富的开发者,都能从中受益匪浅。这本书不仅提供了理论知识,还有...

    thinking in java读书笔记

    ### Thinking in Java 读书笔记知识点总结 #### 一、构造器与方法重载 1. **构造器的特点**: - 构造器不返回任何值,与返回`void`不同。 - 当未在类中声明构造器时,编译器会自动生成一个默认的无参构造器。 - ...

    thinking in java 读书笔记(五)

    9. **设计模式**:《Thinking in Java》也会介绍一些常见的设计模式,如工厂模式、单例模式、观察者模式等,这些模式是解决特定问题的通用解决方案,能够提高代码的可读性和可维护性。 10. **输入输出流**:Java的...

    Thinking in java读书笔记.docx

    《Thinking in Java》是Bruce Eckel的经典之作,这本书深入探讨了Java编程的各个方面。以下是根据提供的部分内容提炼出的一些核心知识点: 1. **访问修饰符**: - `public`:公共访问修饰符,允许所有类访问。 - ...

    thinking in java读书笔记(2)

    Java 编程基础 - 继承和复用 在 Java 编程中,继承和复用是两个非常重要的概念。继承允许我们创建出新的类,继承自已有的类,从而实现代码的重用和扩展。今天,我们将讨论继承和复用相关的知识点,并通过实践例子来...

    读书笔记:Thinking in Java (Java 编程思想).zip

    读书笔记:Thinking in Java (Java 编程思想)

    《Thinking+in+Java》读书笔记共38页.pd

    总之,《Thinking in Java》的读书笔记结合了广泛的Java知识和实践应用,从基础知识到高级主题,从理论到实践,为学习和提升Java编程技能提供了全面的资源。无论是对初学者还是经验丰富的开发者,这都是一个宝贵的...

    JAVA 编程思想 思维导图Thinking_in_Java_MindMapping-master

    用了1个月时间,把《Java编程思想》读了一遍。然后用Mindjet Mindmanager做了读书笔记,跟大家分享一下~ 1. 这个思维导图的读书笔记没有涵盖书中的所有知识点,但是作为框架和读书的思路比较清晰。 2. 思维导图中有...

    恒生电子JAVA笔试试题-Thinking-In-Java-Notes:ThinkinginJava学习笔记

    Java》学习笔记 [TOC] 阅读计划 章节列表 对象导论 一切都是对象 操作符 控制执行流程 初始化与清理 访问权限控制 复用类 多态 接口 内部类 持有对象 通过异常处理错误 字符串 类型信息 泛型 数组 容器深入研究 Java...

    用于存放java源码和Thinking of Java的资源

    "Thinking in Java"是一本由Bruce Eckel编写的经典书籍,它深入浅出地介绍了Java编程语言,是许多初学者和专业开发者的必备读物。这个压缩包文件“java-resources-master”很可能包含了与学习和实践Java相关的各种...

    java基础补足和thinking In Java学习.rar

    《Java学习笔记》 此书的特点在于里面有很多作者对Java语言的独有的理解与讲解,这些内容往往也是所有Java语言初学者迷惑的地方。称之为超简明入门书籍也不为过。 《Java核心技术:卷1基础知识》 这系列...

    java软件笔试题-MyNotebook:我大学时期的笔记本

    java软件笔试题 my notebook 我的笔记本,大部分是在大二大三的时候写的笔记,对于已经毕业的来说可能比较基础甚至naive。...7:读书笔记 thinking in java effective java Android开发艺术探索 Android插件化开发指南

    5本java学习用书

    3. **《Thinking in Java》**:Bruce Eckel的这部巨著深入细致地介绍了Java语言,不仅涵盖基础,还涉及高级特性如多线程、网络编程、反射等。它的特点是理论与实践相结合,通过大量的实例来阐述概念,是提升Java技能...

    Thingking in java

    《Thinking in Java》是Java编程领域的一本经典著作,由Bruce Eckel撰写,被誉为学习Java的必读之作。这本书深入浅出地介绍了Java语言的核心概念和技术,为读者提供了全面而深刻的Java编程知识。 "第二版的"标签...

    JAVA语言入门资料

    学习资源中的“thinking in java.chm”是经典书籍《Thinking in JAVA》的电子版,深入讲解了JAVA的各个方面;“JAVA语言入门.chm”可能是另一本JAVA入门教程,涵盖了基础知识;“Java学习.doc”则可能包含了一些学习...

    TIJ4Reusing Classes

    thinking in java 4 Reusing Classes 读书笔记

    常用文档Java4.rar

    "thinking-in-java.pdf"是Bruce Eckel的经典之作《Thinking in Java》,书中详尽介绍了Java语言的基本概念、语法和编程思想,是初学者入门和进阶的必备读物。 3. **Spring框架**: “Spring源码深度解析(第2版)...

    MasteringJava:一些旧的Java笔记

    "Mastering Java: 一些旧的Java笔记" 提供了一个深入学习Java的资源,这可能是一个学习者或开发者在阅读《Thinking in Java》一书时所做的笔记。这本书由Bruce Eckel编写,是Java编程领域的一部经典著作,旨在帮助...

    BookReading:读书笔记

    在《BookReading》的笔记中,你会看到对《Thinking in Java》这本书的解读,这本书是Bruce Eckel的经典之作,详细介绍了Java的基础知识和高级特性。你将了解到如何创建和使用类,如何处理异常,以及如何进行多线程...

Global site tag (gtag.js) - Google Analytics