On Java8读书笔记

Housekeeping

Unsafe programming is one of the major culprits that makes programming expensive

使用构造器确保初始化

初始化数据是一个相当重要但是常常容易忘记的事,但是作为一个程序员,你也不想跨过千山万水的Debug,最后与变量未初始化相遇吧。

鉴于以上情况,使用一个你自己创建的初始化类的方法,应该是每次创造对象时该做的。不过我真的很怕麻烦,要我编写一个构造方法还每次都用,这也许还行,但是要是有一个内心邪恶的人,使用什么奇奇怪怪的方法名,这无疑是一件痛苦的事,又或者这个方法名刚好占用了我想给其它方法取得名字(想方法名真的很痛苦),那又该怎么办呢?先别慌,让我们看看Java是怎么做的。

在Java中,构造器(也就说所谓的初始化方法)以类名为自己的名字,并且每次使用new创建对象的时候,都会自动调用这个方法!真的很cool。而且,如果你忘记或者故意不给这个构造方法写内容的话,Java会自己给它写一个默认的,这个方法不需要任何的参数列表,仅仅返回一个null,当然也可以自己写一个构造方法,书写的方式和其它方法差不多。

如果你想访问创建的这个对象的字段,可以使用this,可以把它理解为要创建的实例对象的Reference。

方法的重载

重载方法简单来说并不简单,但是也并不很难。一种通俗易懂的说法就是:一个名字的方法展现出了不同的作用。

print(123);
print("123");

比如上述代码中的print方法,第一个的作用是打印123这个整形,第二个的作用是打印"123"这个字符串。

这时肯定会有靓仔提问了,它们都是一个名字,编译器怎么知道我要用哪一种???大家可能已经发现了,答案就藏在这段代码中,传入方法的参数不同!编译器会根据你传入的参数类型、个数来判断你使用的是什么。

也就是说,在定义方法的时候,你对多个同名的方法定义了不同,可以是返回类型,可以是内容,也可以是参数列表,但是编译器区分它们的最终方式是参数列表

这也延伸出一个很有意思的东西,其实方法的重载它就是在写不同的方法,只是它们名字一样,就像在世界上可能总有一个和你名字一样的人,但是你们不是同一个人对吧。所有在一个方法中完全可以调用另一个已经写好的,注意是已经写好的,独立于这个方法的,和它同名的方法。这件事可以帮你更进一步的理解方法的重载

在书写构造方法的时候,也可以调用另一个构造方法作为内容的一部分

垃圾回收器

Java中有一个强大的垃圾回收机制,你几乎不需要自己手动的进行垃圾回收,当一个对象一直不被使用的时候,Java的垃圾回收器就会将它回收。但是我们坚信,垃圾回收是一件有代价的事情,所以为了尽力减小这个代价带来的消耗,垃圾回收期遵从的原则是,能不回收我就不回收,这应该也能解释为什么Java会占用大量内存吧。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沅筱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值