5.java成长之路——重读java编程思想05

  接下来我们来聊聊第7章的内容,第七章是围绕着复用代码来展开的。本章介绍了复用类的两种方法,组合和继承。那什么时候该使用组合,什么时候该使用继承呢。
如果存在一种IS-A的关系(比如人“是一个”动物),并且一个类需要向另一个类暴露所有的方法接口,那么更应该用继承的机制。
如果存在一种HAS-A的关系(比如人“有一个”大脑),那么更应该运用组合。
然后作者又介绍了一种组合和继承的中庸之道,即代理,我们将一个成员置于所要构造的类中(就像组合),然后我们又在新类中暴露了该成员的所有方法(就像继承)。
接下来作者介绍了finally的用法,和try一起使用,finally里面的代码一定会执行的,哪怕前面有renturn。接下来作者又介绍了一个重要概念,向上转型,向上转型是安全的,这也是多态产生的一个重要原因。接下来提到了final关键字,final可以修饰数据,方法和类。final修饰数据的时候1.一个永不改变的编译时常量。2.一个运行时被初始化的值,而你不希望它被改变。对于基本类型,final使值恒定不变,对于引用类型,final使引用恒定不变。final参数主要用于向匿名内部类传值,你可以读参数却不可以改变参数。final方法不能被覆盖。类中的所有private方法都是final的。final修饰类使这个类不能被继承。接下来作者提到了继承与初始化。
  第八章介绍了多态。多态是java三大特性之一,另外两项是抽象和继承。多态指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。实现多态的技术是动态绑定。继承,重写和向上转型是多态的三个条件。
  第九章介绍了抽象类和接口。接口可以实现多继承。抽象类里面可以有非抽象方法,接口里面全部都是抽象方法。然后作者又介绍了设计模式中的工厂模式。工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。
接下来便到了第十章的内部类,我是比较讨厌内部类的,因为我喜欢简单的东西。能用简单实现为什么要用复杂来实现呢。
Java中的内部类共分为四种:
  静态内部类static inner class (also called nested class)
  成员内部类member inner class
  局部内部类local inner class
  匿名内部类anonymous inner class
具体写法在这里我就不列出来了。
1.内部类可以使程序更优雅
2.内部类是“多重继承”的一个补充。
3.内部类可以隐藏你不想被别人知道的操作。
内部类在java中最著名的应用变色java的GUI即图形用户界面中的action。

你可能感兴趣的:(java,编程,java编程思想)