Java中的this关键字

以下是学习了《Thinking in Java》一书中记录的内容

看了下本书的this关键字章节,主要讲了this的使用和static的含义;

对于this,很常见,也常用,this本身就是指的当前对象,用在当前对象属性方法的调用和传递当前对象的引用;

在本书中,对this的用处有两个建议:

1、不建议在方法的调用前使用this,原因如下:(此处是个争议点,这里只是《Java编程思想》一书中的一个观点而已)

有些人执意将this放在每一个方法调用和字段引用前,认为这样“更清晰更明确”。但是,我们使用高级语言的原因之一就是他们能帮我们做一些事情。要是你把this放在一些没有必要的地方,就会使读你程序的人不知所措,因为别人写的代码不会到处使用this。人们期望只在必要处使用this,遵循一种一致而直观的编程风格能节省时间和金钱。

2、建议this使用在构造器中调用构造器,但是注意使用合规

一个类多个构造器的情况下,有时有可能想在一个构造器中调用另外一个构造器,以避免重复代码。可用this关键字做到这一点。

熟悉了this,就能用来对比static。static方法就是没有this的方法。因为this本身是针对对象的。

static方法很像全局方法。Java中禁止使用全局方法,但是在类中置入static方法就可以访问其他static方法和static域。

书中提到一个争议点:

有些人认为static方法不是“面向对象”的,因为他们的确具有全局函数的语义;
使用static方法时,由于不存在this,所以不是通过“向对象发送消息”的方式来完成的;
要是在代码中出现了大量的static方法,就该重新考虑自己的设计了,然而,static的概念有其实用之处,许多时候都要用到;
那对于这样的争议,我们是否还要去探讨它是否真的“面向对象”呢?

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值