闭关贴!(含Java实践经验)

     由于下周就考试了,所以最近两周减少写或着就不写随笔了,但编程的学习是不会停止的。
附加Java实践经验:

Java对象通过*对象地址*被访问。但实际上所有参数都是以*值*方式传递。

对不变值和对象变量使用final。
final只限制变量。不限制所指对象的改变。

非静态函数在缺省下都可被subclass覆写。
若加final,可防止被覆写。

多态polymorphism优于instanceof

及时将不需要的对象函数,设为null。可使代码高效。

Java是面向对象语言,但其操控的东西并非都是对象。

区分==和equals()

==测试基本类型的相等性,及判定对象变量是否指向同一个对象。
若测试值或语义相等,使用equals()。

别依赖equals()的缺省实现。
java.lang.object提供的equals()大多时候并非进行你想要的比较。

若某个类生成的两个对象,那么就该为这个类提供一个equals()。

隶属于同一个类下的对象才能被视为相等。所以使用equals()前应该先优先考虑使用getclass()。

调用super.equals()唤起基类的相关行为。
只有允许derived class对象可以等于其基类对象时,才在equals()中使用instanceof。
处理异常期间又从catch或finally区段抛出异常,原先的异常会因而被隐蔽起来。我们应该处理这种情形的代码,即将所有异常回传给调用者。

一个异常加入某函数throw子句中,会影响所有调用者。

任何函数throw子句都应列出它所传播的所有异常。

使用finally避免资源泄漏。

不要从try区段发出return语句,因为此函数未必会立即从那里返回。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值