|
在Java中对付equals法子来讲,常人城市如许说,==比力的是内存地点,pk10,equals是值 实在如许说是不许确的。瓜葛操作符比力的是甚么,在《Thinking in java》一书中是如许说的:瓜葛操作符天生的是一个boolean成果,它们计较的是操作数的值之间的瓜葛。看似简略,实则必要居心领会。
示例1代码所示 输出成果满是true。
示例2,建立B类,重写无参机关法子为其赋值,然后比力得悉其成果为false,。阐明原equals法子比力的仍是内存地点
咱们要到达咱们本身预期的功效 则必需重写equals法子,equlas属于object类,貨運,以是任何类均可以重写,以下:equals比力的则是值
咱们操纵多态的特征再次重写equals法子 新建C类担当B类 ,运行代码可知,输出成果仍是true。这是比力两个分歧类实例工具的值
注重的是工具向上转型后是不克不及直接拜候子类成员的,必需强转成子类才可以拜候,这也表现出java说话的严谨性。 |
|