重温经典《Thinking in java》第四版之第一章 对象导论(七)

简介: 重温经典《Thinking in java》第四版之第一章 对象导论(七)

多态这块简单的讲完以后就进入到下面的部分。1.8 单根继承结构这块主要说的是Java中所有的类都是继承自单一的基类,这个基类的名字叫Object。这块在编码实战的时候可以看到,你写任何一个类,都可以重写Object类中的一些方法。书中有一句话的描述会让你感觉很费解,就是在单根继承结构中的所有对象都具有一个公共接口,所以它们归根到底都是相同的基本类型。不要去想这里的接口就是interface,而是理解成一些公共的方法,比如Object类中的equals和hashCode方法,当然还有其他方法如下:

image.png

单根继承在Java中很有作用,能够保证所有对象都具备某些功能,其实最大的作用是垃圾回收器里使用的,这点后续会有详细的介绍。

1.9 容器这一小节主要介绍了多个对象的存储的问题,容器就是Java中的集合,可能会把Set称为集合,所以这里他使用了容器,反正就是一个桶或者麻袋,装东西用的。容器类有很多,List(列表),Set(集合),Map(映射),Tree(树)等等。在这一小节中细分了一个单独的小节讲解了参数化类型的问题,这在Java SE5出现之前会出现的问题,就是类型转换的问题。比如List list = new LinkedList();User user1 = new User(); list.add(user1);在使用的时候User user = (User)list.get(0);这里需要强制转换。但是在Java SE5以后通过List<User> list = new LinkedList<User>();就不需要显式的强制转换了。这部分到后面学习容器类,泛型的时候还会着重讲解。

1.10 对象的创建和声明期,谈到的是对象的生成和销毁的问题。这个问题在JAVA中不需要考虑,因为有垃圾回收器的存在。在c++语言中是个很棘手的问题。为了确保效率,c++允许程序员自己控制对象的销毁,这样可以快速的回收掉占用的资源。但是这样也带来了很大的问题,就是忘记销毁和不当销毁的问题。这就是c++中除了指针以外另一个难度比较大的知识点了。JAVA的动态内存分配机制和垃圾回收机制确保了对象的生成和销毁,我们只要通过new去生成对象即可,但是这里面也要注意全局变量持续生成对象会是的内存资源紧张的问题。还有不要指望你希望销毁的对象能立马销毁掉,这要看垃圾回收器怎么去处理。

1.11 异常处理:处理错误从编程语言中的错误信息如何处理这一方面去探讨异常处理对一门编程语言的重要性。你不能保证你的程序不出问题,比如资源不存在和不能执行正确的数值计算等。Java语言从一开始就内置了异常处理,而且强制你必须使用它。这有助于程序健康稳定的运行下去,也给我们程序员提供了修复程序,让程序变得更好的一种很友好的举措。

目录
相关文章
|
5天前
|
安全 Java 编译器
java中类与对象回顾总结-2
java中类与对象回顾总结
14 3
|
5天前
|
Java 编译器
java中类与对象回顾总结-1
java中类与对象回顾总结
14 3
|
1天前
|
Java 编译器
【Java开发指南 | 第一篇】类、对象基础概念及Java特征
【Java开发指南 | 第一篇】类、对象基础概念及Java特征
9 4
|
2天前
|
安全 Java 数据安全/隐私保护
Java一分钟之-Java反射机制:动态操作类与对象
【5月更文挑战第12天】本文介绍了Java反射机制的基本用法,包括获取Class对象、创建对象、访问字段和调用方法。同时,讨论了常见的问题和易错点,如忽略访问权限检查、未捕获异常以及性能损耗,并提供了相应的避免策略。理解反射的工作原理和合理使用有助于提升代码灵活性,但需注意其带来的安全风险和性能影响。
17 4
|
4天前
|
Java
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
|
5天前
|
缓存 Java 程序员
关于创建、销毁对象⭐Java程序员需要掌握的8个编程好习惯
关于创建、销毁对象⭐Java程序员需要掌握的8个编程好习惯
关于创建、销毁对象⭐Java程序员需要掌握的8个编程好习惯
|
5天前
|
Java
从源码出发:JAVA中对象的比较
从源码出发:JAVA中对象的比较
19 3
|
1天前
|
Java
Java中的多线程编程:基础知识与实践
【5月更文挑战第13天】在计算机科学中,多线程是一种使得程序可以同时执行多个任务的技术。在Java语言中,多线程的实现主要依赖于java.lang.Thread类和java.lang.Runnable接口。本文将深入探讨Java中的多线程编程,包括其基本概念、实现方法以及一些常见的问题和解决方案。
|
1天前
|
安全 算法 Java
深入理解Java并发编程:线程安全与性能优化
【5月更文挑战第13天】 在Java开发中,并发编程是一个复杂且重要的领域。它不仅关系到程序的线程安全性,也直接影响到系统的性能表现。本文将探讨Java并发编程的核心概念,包括线程同步机制、锁优化技术以及如何平衡线程安全和性能。通过分析具体案例,我们将提供实用的编程技巧和最佳实践,帮助开发者在确保线程安全的同时,提升应用性能。
10 1
|
2天前
|
Java 调度
Java一分钟之线程池:ExecutorService与Future
【5月更文挑战第12天】Java并发编程中,`ExecutorService`和`Future`是关键组件,简化多线程并提供异步执行能力。`ExecutorService`是线程池接口,用于提交任务到线程池,如`ThreadPoolExecutor`和`ScheduledThreadPoolExecutor`。通过`submit()`提交任务并返回`Future`对象,可检查任务状态、获取结果或取消任务。注意处理`ExecutionException`和避免无限等待。实战示例展示了如何异步执行任务并获取结果。理解这些概念对提升并发性能至关重要。
17 5