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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

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

10 个回复

倒序浏览
类上加上一个修饰符final
回复 使用道具 举报 1 0
类被final修饰就不能被继承,覆写是针对方法而言的,同样,被final修饰的方法是不能被子类覆写的。

如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final方法。
使用final方法的原因有二:
第一、把方法锁定,防止任何继承类修改它的意义和实现。
第二、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。
回复 使用道具 举报 0 1
类被重写、覆盖?只有方法有重写(覆盖和重写是一个意思)吧,为了让一个类不被继承,可以用修饰符final修饰
回复 使用道具 举报 1 0
只要不被继承就谈不上重写和重载。不让这个类被继承的方法就是加上类修饰符final
回复 使用道具 举报
给类前面加一个final 修饰符就哦了.
回复 使用道具 举报
类用final修饰就可以
回复 使用道具 举报
修改类的访问权限,可用final
回复 使用道具 举报
可以直接用最终限定符final去修饰即可
回复 使用道具 举报
一个类不被继承有两种方式,
1,私有构造器,只对外提供一个获得实例的方法(单例模式,严格的说这种方式不算的)
2,类被final修饰,终态类不能被继承,只能new对象!
回复 使用道具 举报
你这问题有意思。
类可以被继承。但是类没有覆盖,重载之说。只有方法才有覆盖,重载的说法。
覆盖和重写一个意思:你是不是想说覆盖和重载。override overload

类不能被继承:fiinal关键字,如果是单例类(构造函数私有)也可以
方法不能覆盖:fiinal关键字
方法不能被重载:不知道
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马