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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 付剑翊 中级黑马   /  2014-8-28 13:25  /  1740 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

刚才在复习模板方法设计模式,自己敲代码,结果就敲出了 public  static astract void runcode();编译提示错误,说 非法的修饰符组合,想问一下问什么?

7 个回复

倒序浏览
static不能覆盖,abstract必须要覆盖···
回复 使用道具 举报
孤守星空 发表于 2014-8-28 14:18
static不能覆盖,abstract必须要覆盖···

static可以被static覆盖吧? 楼主的问题,其实可以这样想,abstract的方法是没有方法体的,static的方法都是可以通过  l类.方法()  来调用的,系统去调用一个没有方法体的方法,这不是疯了么。。。所以不能同时出现
回复 使用道具 举报
其实从加载顺序来看,static是静态,已加载这个类就要执行,所以要求不能是抽象的,必须是具体的,这时就不能再用abstract了;那是运行时才能确定的东西
回复 使用道具 举报
abstract不能与static,final,private一起使用,abstract是抽象 抽象方法必须重写方法 怎么还能共享呢 static是是共享

评分

参与人数 1技术分 +1 收起 理由
舍我其谁 + 1

查看全部评分

回复 使用道具 举报
abstract表示此方法是抽象的,抽象的就代表有名没有功能的,这种只有名没有功能的静态有意义吗?静态就是表示方法在其类没有创建对象就能调用,但是你调用一个没有功能的方法有意义吗
回复 使用道具 举报
abstract 是抽象注定不能直接出世的      static 注定是一调用类就得出世   
回复 使用道具 举报
careit 发表于 2014-8-28 20:20
其实从加载顺序来看,static是静态,已加载这个类就要执行,所以要求不能是抽象的,必须是具体的,这时就不 ...

嗯嗯,了解了,3Q
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马