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

本文分享了Java编程中的实用经验和最佳实践,包括如何正确使用final关键字、理解多态与instanceof的区别、合理运用equals方法以及异常处理的最佳策略等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     由于下周就考试了,所以最近两周减少写或着就不写随笔了,但编程的学习是不会停止的。
附加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语句,因为此函数未必会立即从那里返回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值