Java编程思想第一章读书笔记

时间:2022-12-28 22:58:06

      准备再看一遍JAVA编程思想,这次为了加深,所以准备在看得时候,写一些记录,由于本人比较扯,可能写的很扯,所以如果看完有任何身体不适,本人概不负责,所有解释权归本人所有。

  Java是纯纯的面向对象的编程语言,所以开始,书中就提到了面向对象的编程语言的五个基本特征:

  1. 万物皆为对象。
  2. 程序是对象的集合,他们通过发送消息来告知彼此要做的。
  3. 每个对象都有自己的由其他对象所构成的存储。
  4. 每个对象都拥有其类型。
  5. 某一特定类型的所有对象都可以接收同样的消息。

  上面的五个特征,用书里另外一个牛人的话就是对象具有状态、行为和标识。这让我想起了我小时候特别爱看的水浒传,里面有个李逵,既然万物皆为对象,那么李逵也应该是个对象吧,那么李逵也应该具有状态,比如说醉了还是没醉;也应该有行为,喝酒;也有标识,人称黑旋风李逵。说起对象,书里面引出了类型的概念,java中用class表示,主要是用来描述具有相同特性和行为的对象的集合,拿李逵的例子来说,他属于人类的一员,人类都有年龄,同时也具有吃饭睡觉等行为。所以如果李逵在java中该如何实现呢?如下所示:

People likui = new People();//people代表人类,就这样,李逵就诞生了。ps:李逵他妈歇了,没她事了。。。
likui.eat();//让李逵执行人类都有的吃饭,当然他喜欢的可能和我们不同,红烧肉不知道可以不
likui.sleep();//让他执行人类都有的睡觉,一会儿应该就可以听到打鼾声了

  当然,李逵是造出来了,也到了梁山水泊,但是同样的,到了这里的人,都是要能提供服务的,李逵的应该是砍人吧,光是吃和睡,早晚会被炒,所以每个对象都提供服务。同样的,面向对象的编程语言还有一个会隐藏具体的实现,李逵是上了梁山入了伙了,但是李逵还是偷偷的存了点私房钱,李逵虽然是傻了点,但是他也不会大咧咧的告诉其他人自己藏了私房钱或者让其他人知道藏私房钱的地方而直接操纵他的私房钱。这个时候,梁山水泊遇到金融危机了,需要向大家借钱来度过难关,这个时候,宋江把大家集中在忠义堂,向大家陈述目前严峻的梁山水泊金融危机和大家每个人都息息相关,希望大家拿出来自己的私房钱,来帮助梁山水泊度过难关,这个时候,李逵偷偷的存私房钱的优势就体现出来了,你想,如果宋江知道了李逵藏了私房钱或者藏私房钱的地方,和你废什么话呀,直接叫史迁半夜就给你顺走了,现在好了,宋江就要向李逵发信息,说李逵,拿点钱出来吧,李逵这时候的选择就很多,可以给多少,或者不给,留着自己买酒喝,因为宋江触碰不到李逵的钱袋,所以李逵保护自己的私房钱成功,这是历史上通过控制访问权限保护自己私房钱的一次成功呀,看谁还会叫我傻铁牛!哼。在java中,访问权限控制是通过public,private,protected和默认的访问权限来控制的,这当然比李逵的那种情况复杂,我们以后讨论。

  继承,继承同样在java中特别重要,当我们新建的类和我们已经存在的类功能相似,那么我们只能重新创建一个类么?这个时候,继承就是解决这个问题的一个方法,当然继承不是专门为了解决这个问题的,如果我们已经有一个动物的类别,而且它有一个叫的方法,现在我们需要一个狗类,同样需要叫这个方法,这个时候,我们就可以让狗这个类继承动物类,在java中通过extends关键字来实现,这个时候,动物类在java中,我们称之为父类、基类或者超类,而狗这个类,java中我们称之为导出类、子类或者继承类。这两个类拥有某些共同的特性,比如都拥有叫这个方法,继承之后,狗类已经有个动物类的叫的方法,同时它还可以添加其他方法,比如咬人等,而且它还可以覆盖父类中的叫这个方法,让自己的叫声发出汪汪的声音,同样的,如果没有覆盖父类方法的话,那么如果父类修改了方法,会影响到子类,本例中,如果狗类没有覆盖叫这个方法的话,动物类如果将之前叫方法中发出的声音从十五分贝修改到二十分贝,那么狗类叫的方法会随之改变。伴随着继承的出现,会引出java中另一个重要的概念,多态的出现,而多态也会给我们带来让我们惊艳的发现。而且在java中,是单根继承结构。再就是java中有垃圾回收机制,会帮助我们来管理对象的生命周期,而且java也支持并发编程,同时有自己的一套异常处理机制,而且也提供了丰富的类库,来帮助我们更好的编写java程序。oh,第一章over!~~