即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

Java语言如果不希望某类里的public办法被重写,应改?

编程语言 gao_zhennan 28℃ 0评论
本文目录
[隐藏]

1.问题抛出

如题:假定期望设计一个类A,类中包含一个必须要拥有public属性方法f().当不希望其他程序重写此方法时,请列举三种策略?

方法一:用final修饰类,被修饰的类不能派生子类。


而继承是重写的基础,该类不能派生子类即不能被继承故而类的方法也不能被重写。(多说两句:final修饰的类被称为最终类,表明该类不能派生子类)


方法二 :用final修饰成员方法,被修饰的方法(称为最终方法)不能被重写。


例如:像Math类的方法都是最终方法,最终方法代表着成熟,不需要修改和完善了,像Math类就符合这个特点。


方法三:用static修饰成员方法


静态方法不能被重写。静态成员(方法或属性)是类的成员存放在栈中,类可以直接调用(是类的静态成员,当然对象也可以调用,只是说你可以使用而已);实例成员是对象的成员,存放在堆中只能被对象调用,


重写的目的在于根据创造对象的所属类型不同而表现出多态。因为静态方法无需创建对象即可使用。没有对象,重写所需要的“对象所属类型” 这一要素不存在,因此无法被重写。

转载请注明:CodingBlog » Java语言如果不希望某类里的public办法被重写,应改?

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情