`

think_in_java笔记

 
阅读更多

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 学习笔记

    《Think In Java 学习笔记》 在Java编程语言中,对象是核心概念,它们代表着程序中的实体和行为。对象具有状态、行为和标识,是现实世界概念在软件中的映射。对象的状态由其内部的属性(或称数据成员)表示,行为则...

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

    《王者归来之Thinking in Java读书笔记》是对Bruce Eckel的经典之作《Thinking in Java》第四版的深度学习与总结。这本书是Java程序员的必备参考书,它深入浅出地阐述了Java语言的核心概念和技术,旨在帮助读者理解...

    Think in java学习笔记

    ### Think in Java 学习笔记知识点总结 #### 第1章:对象导论 - **一切皆为对象**:Java 中的几乎所有事物都是对象,对象通过发送消息的方式进行交互。 - **对象模型**:每个对象都有自己的存储空间,该空间由其他...

    Think in java读书笔记

    《Think in Java》读书笔记深度解析 一、构建器(Constructor) 构建器是Java中用于初始化新对象的一种特殊方法,其显著特征是没有返回值类型,包括`void`。这一点与普通方法形成鲜明对比,普通方法即便没有实际...

    原版think in java4

    《原版Think in Java 4》是一本深受程序员喜爱的经典Java编程教材,由 Bruce Eckel 撰写。这本书以其深入浅出的讲解方式和全面的内容覆盖,成为了学习Java语言的重要参考书籍。中文版的出现使得更多的中国读者能够无...

    java学习资料/笔记整理(二)

    java学习资料/笔记整理,含java语言入门中文版、JDK1.4.2手册、JSP由浅入深、Think In Java(中英文)、Thinking_in_Java_chinese_version、精通swing程序设计等8个编译的HTML帮助文档....

    java1think in java笔记(111)---打印 (2008-04-24 16:58:28)

    Java编程中的打印功能是应用程序与打印机交互的重要环节。在给定的代码中,我们看到一个名为`PrintDemo`的类,这个类展示了如何在Java中使用`Graphics`对象进行文本和图形的打印。以下是该代码涉及到的主要知识点: ...

    thinkinjava源码-learn-think-in-java:学习ThinkinJava的笔记和

    这个压缩包"thinkinjava源码-learn-think-in-java"包含了作者在阅读和学习《Think in Java》时的笔记和代码实现,这为我们提供了宝贵的实践示例和理解书中理论的窗口。 1. **源码分析**:学习源码是提高编程技能的...

    从Java菜鸟到专家的资料

    2. **Think In Java.chm**:这是经典的《深入思考Java》电子版,作者Bruce Eckel深入浅出地讲解了Java语言的核心概念,包括面向对象编程、集合框架、多线程、异常处理等内容,是Java初学者必读的书籍之一。...

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

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

    java离线文档系列.7z

    最后,"Think In Java.chm"同样源于《Thinking in Java》,这本电子版可能包含完整的书本内容,包括类与对象、泛型、并发、IO流等主题,是提高Java编程思维的重要教材。 总的来说,这个压缩包为Java初学者和进阶者...

    各类chm文件大集合,以及java web学习比较

    css参考手册.chm ...JavaScript参考手册中文版.chm java包(简例)中文版.chm ...Think In Java.chm Browser对象笔记.doc DHTML笔记.doc HTML DOM笔记.doc javascript笔记.doc JQuery笔记.doc XML笔记.doc

    Notes:This is a learning note | Java基础,JVM,源码,大数据,面经

    Think In Java Java容器 Java并发 Java Concurrency in Practice 对象的共享 对象的组合 基础构建模块 JavaGC监控与优化 垃圾回收机制 垃圾回收机制的监控 优化垃圾回收机制 Apache的MaxClients参数详解及其在Tomcat...

    thinkInJava:编程思想源码及答案笔记

    《编程思想源码及答案笔记》是一份深入探讨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 ...

Global site tag (gtag.js) - Google Analytics