A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

本帖最后由 张周飞 于 2014-6-13 10:39 编辑

求各位大神 指教哇{:3_66:}----怎样才能让一个类不能被继承、重写、覆盖???

10 个回复

正序浏览
你这问题有意思。
类可以被继承。但是类没有覆盖,重载之说。只有方法才有覆盖,重载的说法。
覆盖和重写一个意思:你是不是想说覆盖和重载。override overload

类不能被继承:fiinal关键字,如果是单例类(构造函数私有)也可以
方法不能覆盖:fiinal关键字
方法不能被重载:不知道
回复 使用道具 举报
一个类不被继承有两种方式,
1,私有构造器,只对外提供一个获得实例的方法(单例模式,严格的说这种方式不算的)
2,类被final修饰,终态类不能被继承,只能new对象!
回复 使用道具 举报
可以直接用最终限定符final去修饰即可
回复 使用道具 举报
修改类的访问权限,可用final
回复 使用道具 举报
类用final修饰就可以
回复 使用道具 举报
给类前面加一个final 修饰符就哦了.
回复 使用道具 举报
只要不被继承就谈不上重写和重载。不让这个类被继承的方法就是加上类修饰符final
回复 使用道具 举报
类被重写、覆盖?只有方法有重写(覆盖和重写是一个意思)吧,为了让一个类不被继承,可以用修饰符final修饰
回复 使用道具 举报 1 0
类被final修饰就不能被继承,覆写是针对方法而言的,同样,被final修饰的方法是不能被子类覆写的。

如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final方法。
使用final方法的原因有二:
第一、把方法锁定,防止任何继承类修改它的意义和实现。
第二、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。
回复 使用道具 举报 0 1
类上加上一个修饰符final
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马