Thinking in Java读书笔记(1)

学习Java也不少时间了,但总感觉没沉淀下什么东西,基础不扎实、代码编写效率低下,是时候好好反省一下了,想起尘封的《Thinking in Java》,因此这几天打算跟着它,把基础在看一遍(以前没写博文的结果T_T)。

       先从面向对象开始,面向对象在我的理解中是一种解析问题的模式。这些模式除了面向对象,还有面向过程、还有基于对象等。在面向对象的编程思想中,处理问题主要是根据问题所包含的内容,而面向过程则更加关注问题的流程。根据面向对象的思想,Java提出了类,如果用数据结构就不难理解,不就是元素与功能的集合吗?只是用这个数据结构定义了对象。不过之后的一些内容让我产生了疑惑,在Thinking in Java中有这样一句话“每个对象都只能满足一些请求,但这些请求有对象的接口定义”。根据图例,这里的接口似乎是指方法的意思,和interface关键字关系不大。类内部采用三个关键字以及一个default情形设定访问边界,private、public、protected和默认。private仅在类内部能被访问,public顾名思义就是共有的,protected在private的基础上还能在继承的类中被访问,而默认的情况下,在包内都可以访问。感觉这些字段的设定非常符合封装的思想。但在使用中,private变量还是可以通过方法在外部得到的。

       对复用的理解,复用用我的理解就是一些编写多次使用,比如实例化一个对象,并使用它。除此之外,在书上还提出了组合,即在新类中使用之前定义的对象,有点代码量的人肯定是使用过这种方法的。然后就是继承了。说实话我现在还是很难确定什么时候使用继承、什么时候采用接口,感觉不是一个很大的项目,实现接口应该使用不到的,不是只要写个抽象类就可以了吗?继承中有一点很重要,无聊父类中的成员是不是私有(private),继承后的子类都会有这个成员,只是访问不到而已。采用继承往往是为了体现子类的特殊性,所以子类得有特点,这是就有两种体现个性的方法:增加新方法和覆盖。覆盖应该就是重写,重写父类的方法。在使用中,我觉得除非父类的那个类是抽象类,在子类中具体实现(这也是算是覆盖吧?),否则覆盖就不应该频繁出现,否则父类就没意义了。

        暂时先写到这吧,字有点密啊,感觉像是流水账,导论看的还不是很有感觉。之后会添加代码,而不是长篇大论。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值