《Head First Java》
-
编程时以面向对象的方式来思考,专注于程序中出现的事物而非过程。
编程方法论:①找出类应该做的事;②列出实例变量与方法; ③编写方法的伪码; ④编写方法的测试用程序; ⑤实现类; ⑥测试方法; ⑦除错或重新设计。 -
伪码介于真正的代码与英语之间,包含3部分:变量声明,方法声明以及方法的逻辑。重要的是逻辑,真正的实现在后续转换成真实码时完成。【个人认为该部分可由流程图代替。】
-
在真实代码之前先写测试代码(即main代码),可以帮助了解被测程序应该做哪些事情。先写一部分测试码然后编写程序,重复这个过程至代码完成。
-
继承能否进行可使用IS-A测试,即A是一个B吗?True则可使A继承B。
子类会继承父类所有的public类型变量及方法,但不会继承private;继承的方法可以覆盖但是成员变量无法覆盖。继承可以避免重复的程序代码,定义出共同协议,使程序变得更简洁、高效,能够编写出真正具有适应性的程序代码。 -
在多态下,引用与对象可以是不同的类型,任何extends过声明引用变量类型的对象都可以赋值给该引用变量,由此可创建多态数组。通过多态可以编写引进新型子类也不必修改的程序。
-
在方法前加上final修饰符可防止方法被覆盖,在类前加上final可防止该类被继承。覆盖父类方法时子类需要使用同样类型的参数,返回类型亦必须是父类返回类型或其子类,否则是重载而非覆盖。
-
抽象方法没有实体,声明后以;结尾,包含抽象方法的类都是抽象类。抽象方法的意义在于就算无法实现出方法的内容,也可以定义出子类共同遵守的协议,在新加入子类到程序中时不必重改处理这些类型的程序。
-
接口可用来实现多重继承且不产生致命方块问题。运用接口必须在继承之下。接口的好处在于可以为不同的需求组合出不同的继承层次。