来自投资银行的20个Java口试题
其它,你同样要担保你的类不要通过任何要领袒露成员,出格是那些可修改范例的成员。同样地,当你的要领吸取客户类传入的可修改工具的话,你应该行使一个复制的工具来防备客户代码来修改这个刚传入的可修改类。好比,传入java.util.Date工具的话,你应该本身行使clone()要领来得到一个副本。 当你通过类函数返回一个可修改工具的时辰,你也要采纳相同的防护法子,返回一个类乐成的副本,防备客户代码通过此引用修改了成员工具的属性。万万不要直接把你的可修改成员直接返回给客户代码。 题目十八:如安在不行使任何说明器材的环境下用最简朴的方法计较某个要领的执行所耗费的时刻??在执行此要领之前和之后获取一个体系时刻,取这两个时刻的差值,即可获得此要领所耗费的时刻。必要留意的是,假如执行此要领耗费的时刻很是短,那么获得的时刻值有也许是0ms。这时你可以在一个计较劲较量大的要领上试一下结果。
题目十九:当你要把某个类作为HashMap的key行使的话,你必要重写这个类的哪两个要领??为了使类可以在HashMap或Hashtable中作为key行使,必必要实现这个类本身的equals()和hashCode()要领。详细请参考题目十四。题目二十:你怎样阻止客户代码直接初始化你的类的结构要领?譬喻,你有一个名为Cache的接口和两个详细的实现类MemoryCache和DiskCache,你怎样担保这两个类榨取客户代码用new要害字来获取它们的实例?我把这最后一个题目留给你做操练吧,你可以在我给出谜底之前好好思考一下。我确信你可以或许找到正确的要领的,由于这是将类的实现掌控在本技艺中的一个重要的要领,同时也能为往后的维护提供庞大的甜头。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |