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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 荣晓鹤 中级黑马   /  2013-11-29 16:55  /  1122 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java接口中为什么不能有静态方法?最好举例子说说

3 个回复

倒序浏览
静态方法是不能被子类重写(也叫覆盖)的(为什么不能重写,则是另外一个问题了)
接口中是不能有被实现的方法的,否则它就不是接口而是抽象类
一个类要实现接口中的方法,其实就是对接口方法的重写。而要实现静态方法,就必须重写接口中的静态方法,这和第一点产生冲突。
如果觉得难以理解的话,请看下面的例子
假设在 java 中可以定义静态方法:
  1. public interface MyInterface {
  2. public static void f();
  3. }
  4. 有两个子类实现了这个接口:
  5. public class A implements MyInterface {
  6. public static void f(){
  7. System.out.println("AAAA");
  8. }
  9. }
  10. public class B implements MyInterface {
  11. public static void f(){
  12. System.out.println("BBBB");
  13. }
  14. }
复制代码
回复 使用道具 举报
同学、问题已经解决了吗?
如果没有、就去新版28期问吧,26~27已经结束了。开班了!
http://bbs.itheima.com/forum-165-1.html

如果问题已经解决,请及时修改主题为“提问结束”。
修改主题的方法链接
http://bbs.itheima.com/thread-89313-1-1.html
如果没有解决,可能你的问题问得不够清楚。可以重新发问的哦~
回复 使用道具 举报

以后多发点精彩的帖子!谢谢

以后多发点精彩的帖子!谢谢





女性配饰 http://www.xiuxiuw.com
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马