黑马程序员技术交流社区
标题:
考考大家的基础,有兴趣的来踊跃回答
[打印本页]
作者:
梁胜海
时间:
2012-11-2 08:34
标题:
考考大家的基础,有兴趣的来踊跃回答
对于修饰一个类,我们这样写
public abstract final Test{
}
会不会编译错误?说出你认为它编译正确或错误的原因,稍后看大家谈论,我会总结。
作者:
qhasilver
时间:
2012-11-2 08:42
抽象方法必须重写,final修饰强制不允许被重写。编译失败。
作者:
小灰灰
时间:
2012-11-2 08:49
首先 没有class关键字
其次,abstract和 final 矛盾,编译错误
作者:
梁胜海
时间:
2012-11-2 08:51
擦,少了个class
作者:
梁胜海
时间:
2012-11-2 08:54
算了,我该大家来个总结,刚考大家少写了class,额,那算失误啊,总结如下:我们对final修饰类的时候不能和abstract一起出现,一个类不能既是final,又是abstract,因为abstract的,主要目的是定义一种约定,让子类去实现这种约定,而final表示该类不能被继承,这样abstract希望该类可以被继承而final明确说明该类不能被继承,两者矛盾。因此一个类不能既是final,又是abstract。
作者:
张胜格
时间:
2012-11-2 09:06
不能通过吧!!两者矛盾了,这是我试过后的结果:The class Test can be either abstract or final,
not both
作者:
奋斗的青春
时间:
2012-11-2 09:13
果断地abstract和final修饰符矛盾 。
finalAndAbstractError.png
(34.85 KB, 下载次数: 70)
下载附件
2012-11-2 09:12 上传
作者:
邹海洋
时间:
2012-11-2 09:18
被final修饰的抽象类无法被继承,抽象方法无法被重写,如果可以创建子类对象的话,那么调用抽象方法又有什么意义呢?果断编译失败。
作者:
梁胜海
时间:
2012-11-2 09:30
嗯嗯,基础都很好嘛,谁是第一时间就立马清楚的?
作者:
种生祥
时间:
2012-11-2 10:11
怎么少了class?
abstract要被继承,final不允许继承,相矛盾
作者:
焦晨光
时间:
2012-11-2 12:01
一:类必须要用关键字class修饰
public class abstract final Test{}
二:abstract和final不能共存
public class abstract Test{}
三:abstract应该放到class前面
public abstract class Test{}
四:编译通过,一个没有意义抽象类
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2