think in java3学习心得之——Reusing class

看到第六章了, 心情越来越激动,不由写份BLOG,抒发下感情,think in java--一本神书我一个朋友如实说,确实我发现了很多新的东西,我以前对JAVA只是了解他的一个大体框架,并没有深入的去学习,这本书充实了我,对其中的一些概念,讲的如此透彻清晰,就如同白话一般,我本来对E文不感兴趣的,现在我竟然也能配合他的E文版加金山快译,翻译几段,我有了学习英语的兴趣,每看完他写的code如果能够读懂或者花了一段时间读懂,是件非常愉快的事情,他让我增加了自信!后面的练习题必须是要做的,只有做了,才感觉真正收获了知识,外国人写的课题比较有趣!从昨天晚上看到了Reusing Class(复用类),今天还差3页没看完,最后这段讲的final关键字用法,前部分讲解的是组合技术与继承组合技术下面的代码可以说明问题:
// www.BruceEckel.com. See copyright notice in CopyRight.txt.

class Engine {
  public void start() {}
  public void rev() {}
  public void stop() {}
}

class Wheel {
  public void inflate(int psi) {}
}

class Window {
  public void rollup() {}
  public void rolldown() {}
}

class Door {
  public Window window = new Window();
  public void open() {}
  public void close() {}
}

public class Car {
  public Engine engine = new Engine();
  public Wheel[] wheel = new Wheel[4];
  public Door
    left = new Door(),
    right = new Door(); // 2-door
  public Car() {
    for(int i = 0; i < 4; i++)
      wheel[i] = new Wheel();
  }
  public static void main(String[] args) {
    Car car = new Car();
    car.left.window.rollup();
    car.wheel[0].inflate(72);
  }
}
在一个类中创建另一个类对象的引用,然后直接使用来自这个引用的接口,这样的代码看起来细腻紧凑有很强的从属关系就象书中说的(has-a)关系我是这样理解组合技术的。当然很肤浅,有高手在给予补充,继承就是从一个基类派生一个新类,这个新类,可以使用基类中所有的接口,还可以重载,添加一些新的方法,当然在派生的新类代码中第一件事,就是在构造器中Super.一下基类的构造器,否则,他什么都不能做就写到这了,不浪费时间了,看书....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值