think in java 第六章 类再生

原创 2015年11月17日 22:18:15

Java 引人注目的一项特性是代码的重复使用或者再生。但最具革命意义的是,除代码的复制和修改以外,我们还能做多得多的其他事情。


合成的语法————在类里加入其他类的对象引用即可完成。    toString  这个方法还需要查资料了解一下。

继承的语法————在类主体的起始花括号之前,需要放置一个关键字extends,在后面跟随“基础类”的名字。若采取这种做法,就可自动
获得基础类的所有数据成员以及方法


继承  ————基础类和衍生类


构建器(构造方法)


合成和继承可以一起使用

如果 Java 基础类有一个方法名被“过载”使用多次,在衍生类里对那个方法名的重新定义就不会隐藏任何基础类的版本。所
以无论方法在这一级还是在一个基础类中定义,过载都会生效:

在面向对象的程序设计中,创建和使用代码最可能采取的一种做法是:将数据和方法统一封装到一个类里,
并且使用那个类的对象。有些时候,需通过“合成”技术用现成的类来构造新类。而继承是最少见的一种做
法。因此,尽管继承在学习OOP的过程中得到了大量的强调,但并不意味着应该尽可能地到处使用它。相
反,使用它时要特别慎重。只有在清楚知道继承在所有方法中最有效的前提下,才可考虑它。为判断自己到
底应该选用合成还是继承,一个最简单的办法就是考虑是否需要从新类上溯造型回基础类。若必须上溯,就
需要继承。但如果不需要上溯造型,就应提醒自己防止继承的滥用。在下一章里(多形性),会向大家介绍
必须进行上溯造型的一种场合。但只要记住经常问自己“我真的需要上溯造型吗”,对于合成还是继承的选
择就不应该是个太大的问题。



 final 关键字



尽管继承在面向对象的程序设计中得到了特别的强调,但在实际启动一个设计时,最好还是先考虑采用合成
技术。只有在特别必要的时候,才应考虑采用继承技术(下一章还会讲到这个问题)。合成显得更加灵活。
但是,通过对自己的成员类型应用一些继承技巧,可在运行期准确改变那些成员对象的类型,由此可改变它
们的行为


Thinking in Java(第四版)习题--第六章

练习1 package access; //在某个包中创建一个类,在这个类所处的包的外部创建该类的一个实例。 public class Test1{ public Test1 (){ ...
  • tcitry
  • tcitry
  • 2013年09月30日 14:59
  • 2421

Thinking In Java笔记(第六章 访问权限控制)

第六章 访问权限控制简介    Java提供了访问权限修饰词,供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的。访问权限控制的等级,从最大权限到最小权限一次为:public、protect...
  • Jing_Unique_Da
  • Jing_Unique_Da
  • 2015年05月11日 11:41
  • 1489

java编程思想 第四版 第六章 个人练习

java编程思想 第四版 第六章 答案,中文版 练习1:(1)在某个包中创建一个类,在这个类所处的包的外部创建该类的一个实例。 练习2:(1)将本节中的代码片段改写为完整的程序,并校验实际所发生的冲突...
  • zhaoqingkaitt
  • zhaoqingkaitt
  • 2014年11月04日 16:50
  • 2836

Think In Java第六章 访问权限修饰符

java访问修饰符: 包访问权限(friendly):当前包中的所有类对那个成员都具有访问权限,但是对于这个包之外的所有的类,这个成员是private的。由于一个编译单元(即一个文件),只能隶属一个包...
  • qq_27896185
  • qq_27896185
  • 2016年11月29日 22:50
  • 163

Think In Java第六章 访问权限修饰符

组合与继承:两种复用代码的方法: 第一种:只需要在新的类中产生现有类的对象,由于新的类是由现有类的对象组成的,所以这个方法称为组合,该方法只是复用了现有程序代码的功能,而并非它的形式。 第二种:按照现...
  • qq_27896185
  • qq_27896185
  • 2016年12月04日 17:50
  • 82

《Think in Java》中文版 电子书 第六章

  • 2007年08月29日 14:53
  • 353KB
  • 下载

Think in Java(四):复用类

1. 每一个非基本类型的对象都有一个toString方法,而且当编译器需要一个String而你却只有一个对象时,该方法便会被调用。 public class SprinklerSystem { pr...
  • zdp072
  • zdp072
  • 2015年01月23日 15:35
  • 580

Think in Java第七章 复用类

组合与继承:两种复用代码的方法: 第一种:只需要在新的类中产生现有类的对象,由于新的类是由现有类的对象组成的,所以这个方法称为组合,该方法只是复用了现有程序代码的功能,而并非它的形式。 第二种:按照现...
  • qq_27896185
  • qq_27896185
  • 2016年12月06日 14:35
  • 222

[think in java]第7章 复用类

java中,复用代码有两种途径: 在新的类中产生现有类的对象。由于新的类是由现有类的对象组成的,所以这种方法称为组合。采用继承的方式来复用。 继承 继承采用关键字extends实现。...
  • chenlei0630
  • chenlei0630
  • 2014年10月31日 15:07
  • 563

[think in java]第10章 内部类

内部类 定义:将一个类定一个在另一个类的内部定义,就是内部类。 创建内部类 如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象,需要具体的指明:outerClassName.Inner...
  • chenlei0630
  • chenlei0630
  • 2014年11月05日 14:41
  • 636
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:think in java 第六章 类再生
举报原因:
原因补充:

(最多只允许输入30个字)