static没有多态,abstract必须要有多态

来源:互联网 发布:怎么使用oracle数据库 编辑:程序博客网 时间:2024/06/13 05:34
Java abstract问题
检举 | 2011-4-29 23:28 提问者: lbog_ | 浏览次数:2050次
这是我在一个选择题上看到的
static abstract void sleep();为什么是错误的。
这道题的正确答案是:public abstract void sleep();
希望老师能详细解答
小菜先谢谢了!!!
我来帮他解答
  2011-4-29 23:39 满意回答
static是静态,静态函数的特点是没有多态。


而abstract表示必须被子类实现,因此在使用过程中,必然会用到多态。


static没有多态,abstract必须要有多态,so,矛盾了。
10
| 评论(2)
 
向TA求助
回答者: antony9 来自团队 Java盛宴  | 四级采纳率:55%
擅长领域: JAVA相关 系统软件 其他编程语言 数据库 民俗传统
参加的活动: 暂时没有参加的活动
提问者对回答的评价:
谢谢,,,

其他回答 共3条
  2011-4-29 23:39 kmz1111 | 五级
抽象方法不能定义为静态的 
0
| 评论
  2011-4-29 23:39 zssazrael | 一级
静态的方法不能是抽象的。
抽象方法只能在抽象类中声明。
别问为什么,这是 Java 的语法。 
0
| 评论
  2011-4-29 23:46 UFO_Z_CJ | 二级
static和dynamic是反义词 
而abstract是为了实现dynamic。所以static和abstract是不能共存的。