偶来想起一些东西。想记录下载
一、java之路的比喻
和学车差不多,
开始的时候,我们只要学习认识车,车是什么牌子的,就像学校会教你什么是线程,线程的定义。
然后,然后你就学习开车,离合,油门,挂当,java中,编写helloword->crud->jsp
之后,你会发现车坏了,java就抛出了异常,你可以和老司机一样,凭着经验和感觉,解决一些问题。
在之后,车开着不爽。我要一个32个汽缸的,那么就开始改造车。不过你会设计,就像,java中你开始学习源码。学习算法,明白为什么会抛出异常,为什么能实现这样那样的功能。也就试着开始写框架,设计自己的车。
最后,你实在是无聊,开始自己设计创在车。你需要明白,传动原理,发动机原理等。java中,你明白jvm原理,编译原理,网络知识等等,然后设计自己的tomcat。语言。等等,然后呵呵。
二、抽象类与接口的比喻
面试的时候有人问我你什么时候使用抽象类,什么时候使用接口。
当时我对他说:最好用接口,不行再用抽象类,类是单继承,留给关键时刻用。有补充说:接口相当于一种规则。抽象类相当于一个模板,有存在,有等你实现的。
我的回答并没有的到赞同。
今天再次想起这件事。有了一个感觉不错的比喻。
假如你写的类是一个学生。此时学校教数学、语文、外语,这3个就是一个借口,每个来学习的学生都要实现接口,每个人的实现方式,过程有很大的不同。
还有可能你是一个书香门第的子女,父亲已经有一定的数学,语文功底,小的时候你就受过胎教,幼教等等,你已经继承了父亲的基因,那么这就是一个抽象类,父亲实现了语文与数学,但是他有希望,自己不会的英语,孩子能学会,对你寄托的希望就是,一个抽象类。