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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© crazystraw 中级黑马   /  2014-6-30 16:10  /  1201 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 crazystraw 于 2014-7-1 17:51 编辑

如果一个类有一个被final修饰的方法,那么这个类还可以被继承么?如果可以,那么被final修饰的类不可以被覆盖?

7 个回复

倒序浏览
当然可以,但是这样的方法不能在子类里被重写(override)了。 把一个方法标为final的目的也就在于此:那是在说,好了,到此为止,不许再对我进行修改了。把一个类标为final的情况也是一样,只不过整个类都被固定了。

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
被final修饰的类是不能够被继承的,但是他可以继承其他类,一个被final修饰的方法不能被复写,但是拥有final方法的类可以被继承,只是这个final方法不能够被覆写,可以把它看做是一个私有的方法,因为私有的方法也不能被继承,还有你说的覆盖我有些不明白,java里面对方法操作可以使复写和重载,没听过覆盖呢,被final修饰的类是一个最终类,而且类没有腹部覆盖这一说,只能说类可以继承或被继承,

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
final修饰就可以看成不变的东西,任何尝试修过他的动作都是不可以的
回复 使用道具 举报
不可以被继承,类有覆盖吗?
回复 使用道具 举报
houyudong 发表于 2014-6-30 16:49
被final修饰的类是不能够被继承的,但是他可以继承其他类,一个被final修饰的方法不能被复写,但是拥有fina ...

这位大神说的很详细了,有一个被final修饰的方法的类是可以被继承的,但是子类不能再覆盖此方法了。你后面
的意思是这个类被继承时方法能不能被覆盖是吧?不能被覆盖的。
回复 使用道具 举报
叶飞翔 发表于 2014-6-30 19:04
这位大神说的很详细了,有一个被final修饰的方法的类是可以被继承的,但是子类不能再覆盖此方法了。你后 ...

是复写,不是覆盖,java中没有覆盖这一说,一个字的意思差别就很大了,
回复 使用道具 举报
houyudong 发表于 2014-6-30 21:17
是复写,不是覆盖,java中没有覆盖这一说,一个字的意思差别就很大了,

有覆盖这个说法吧,网上好多这种叫法,毕老师的视频中也有这样的说法,跟复写的意义是一样的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马