1、对象导论
计算机是头脑延伸的工具
抽象:所有编程语言、数学都是抽象。所能解决的问题复杂性,直接取决于抽象的类型和质量。
对象:具有状态(内部数据),方法(在自身上执行操作),标识(内存唯一地址)
对象:每个对象都是服务提供者。
对象:通过引用操作对象。引用的对象。java只有这一种操作方式。
直接常量:200L;10f;0x2f;有时候需要告诉编辑器常量类型
垃圾回收:只与内存有关。GC负责释放对象占用的内存。
finalize:回收之前调用。释放非对象内存。比如本地方法创建的
命名:见名知义、简短(保持特有,其他使用缩写)
6、访问权限控制
访问控制:隐藏具体实现:隔离变化,变与不变。与最初的实现并不恰当有关(未来重构)
包:库单元。未命名包:默认包。
源文件:编译单元。编译单元不能并列有多个public类,(public类内部可以再有public类)
权限:public(接口) > protected(继承+包) > 包(default) > private
7、复用类
复用类:利用现有类生成新类。java所有问题的解决都是围绕“类”展开的。
组合:新类中引入现有类的对象,作为成员变量/对象。String被无数次的组合了。
继承:会继承现有类的接口。组合不会。
代理:java没有对此直接支持。间接实现:新类中引入现有类的对象(组合),然后新类暴漏成员对象的所有方法(类似继承)
8、多态
多态:分离“做什么”、“怎么做”。分离接口与实现。
封装:合并特征和行为来创建新的数据类型。
隐藏实现:接口与实现分离。
构造器:不是多态的。是隐藏static的
向上转型:安全的。父类不会有大雨导出类/子类的接口。
9、接口
接口:使抽象更进一步。
完全解耦:抽象类做不到,必须加入到抽象类的继承结构中。
接口域:自动隐藏式static,final的。
10、内部类
.this:内部类方法中:return Outer.this;
.new: outer.new Inner();
存在意义:可以独立实现一个接口,与外部类无关。
例子:工厂方法、线程、框架。。。
Swing-UI控制框架:事件驱动系统。
框架:分离变与不变。框架不知道任何具体的信息。action()通过内部类。
11、类型信息Class
运行时发现和使用类型信息。
RTTI:Run-Time Type Information
类字面常量:Integer.class,Object.calss;
泛化的Class引用:Class<Integer> c <==> Integer.class
Class类:只是Object的子类。所以Integer.class与Number.class没有继承关系。
编译期未知:Class<?> forName(String className):
编译期已知:Integer.class
相关推荐
《Think In Java 学习笔记》 在Java编程语言中,对象是核心概念,它们代表着程序中的实体和行为。对象具有状态、行为和标识,是现实世界概念在软件中的映射。对象的状态由其内部的属性(或称数据成员)表示,行为则...
《王者归来之Thinking in Java读书笔记》是对Bruce Eckel的经典之作《Thinking in Java》第四版的深度学习与总结。这本书是Java程序员的必备参考书,它深入浅出地阐述了Java语言的核心概念和技术,旨在帮助读者理解...
### Think in Java 学习笔记知识点总结 #### 第1章:对象导论 - **一切皆为对象**:Java 中的几乎所有事物都是对象,对象通过发送消息的方式进行交互。 - **对象模型**:每个对象都有自己的存储空间,该空间由其他...
《Think in Java》读书笔记深度解析 一、构建器(Constructor) 构建器是Java中用于初始化新对象的一种特殊方法,其显著特征是没有返回值类型,包括`void`。这一点与普通方法形成鲜明对比,普通方法即便没有实际...
《原版Think in Java 4》是一本深受程序员喜爱的经典Java编程教材,由 Bruce Eckel 撰写。这本书以其深入浅出的讲解方式和全面的内容覆盖,成为了学习Java语言的重要参考书籍。中文版的出现使得更多的中国读者能够无...
java学习资料/笔记整理,含java语言入门中文版、JDK1.4.2手册、JSP由浅入深、Think In Java(中英文)、Thinking_in_Java_chinese_version、精通swing程序设计等8个编译的HTML帮助文档....
Java编程中的打印功能是应用程序与打印机交互的重要环节。在给定的代码中,我们看到一个名为`PrintDemo`的类,这个类展示了如何在Java中使用`Graphics`对象进行文本和图形的打印。以下是该代码涉及到的主要知识点: ...
这个压缩包"thinkinjava源码-learn-think-in-java"包含了作者在阅读和学习《Think in Java》时的笔记和代码实现,这为我们提供了宝贵的实践示例和理解书中理论的窗口。 1. **源码分析**:学习源码是提高编程技能的...
2. **Think In Java.chm**:这是经典的《深入思考Java》电子版,作者Bruce Eckel深入浅出地讲解了Java语言的核心概念,包括面向对象编程、集合框架、多线程、异常处理等内容,是Java初学者必读的书籍之一。...
Java》学习笔记 [TOC] 阅读计划 章节列表 对象导论 一切都是对象 操作符 控制执行流程 初始化与清理 访问权限控制 复用类 多态 接口 内部类 持有对象 通过异常处理错误 字符串 类型信息 泛型 数组 容器深入研究 Java...
最后,"Think In Java.chm"同样源于《Thinking in Java》,这本电子版可能包含完整的书本内容,包括类与对象、泛型、并发、IO流等主题,是提高Java编程思维的重要教材。 总的来说,这个压缩包为Java初学者和进阶者...
css参考手册.chm ...JavaScript参考手册中文版.chm java包(简例)中文版.chm ...Think In Java.chm Browser对象笔记.doc DHTML笔记.doc HTML DOM笔记.doc javascript笔记.doc JQuery笔记.doc XML笔记.doc
Think In Java Java容器 Java并发 Java Concurrency in Practice 对象的共享 对象的组合 基础构建模块 JavaGC监控与优化 垃圾回收机制 垃圾回收机制的监控 优化垃圾回收机制 Apache的MaxClients参数详解及其在Tomcat...
《编程思想源码及答案笔记》是一份深入探讨Java编程技术的宝贵资源,它基于《Think in Java》这本书,该书由Bruce Eckel撰写,是许多程序员学习Java的首选教材。这份笔记结合了书中的理论知识与实际源码,旨在帮助...
例如,你可能需要准备如何用英语表达自己的专业技能(如:“I specialize in software development and have hands-on experience with Java and Python.”)、工作成就(如:“During my previous role, I led a ...