NknSのSitE

Back

Java Intro

Intro for Java#

首先,想要学好这门课并且拿一个好的分数(至少我因为阴差阳错的一些事情完全没有做到),你至少需要在老师讲这门课之前就对 Java 有大概的了解,然后上课的时候听老师讲那种正常人根本不会写出来的逆天代码是怎么工作的。了解的底线就是这套笔记里面的内容你至少都要明白并且看过。

这套笔记是单纯的语法记录、功能类似工具书一样而不是一些教程。Java 这门语言是少有的离开 IDE 根本无法进行开发、语言结构复杂到极致而且其本身也像屎山一样充满了各种各样为了向后兼容而要求程序员做出的妥协的语言。

Java 恶心的地方还不止于此:在 Java 的结构里,你经常分不清它在某个方面想要推崇的是隐式的哲学还是显式的哲学,你无法分清这里是语法结构设定如此还是官方给你塞的一颗有毒的语法糖,你写代码的时候会感觉到自己像一个代码力工——不是你的思路有多流畅,而是这门语言的繁文缛节太多了。

不过,作为 OOP 编程的鼻祖,Java 有很多先进的思想:

  • 它更早提出 Javadoc 的概念,只要注释规范就自动生成项目文档,方便了开发。
  • 通过接口和抽象类实现了简单(但一点也不明了!!)的多重继承。
  • 在 Java 里你无法使用语言结构获得一个对象的实体,对于对象而言你使用一个叫引用变量的东西去操纵一切。引用变量其实就是一个安全指针——也就是说 GC 机制是由运行时自动完成的,而且语法结构上绝对安全。
  • 除了基本类型,所有的内容都是类 / 对象 / 对象的成员。完全的 OOP 语言。

闲言少叙吧。另外这门课的往年题很少,几乎没有有太大价值的资料,课程的文档还都是二进制文件,我已疾苦。

这套笔记将从 Chapter IV 开始记录,内容范围就是华科 Java 课程的教学范围。参考书是 Java 语言程序设计第 10 版,机械工业出版社的大黑砖系列。一定要记得买第十版而不是第十一版,因为新版进阶篇删掉了很多内容。