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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

代码和理论帮我分析一下  

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

3 个回复

倒序浏览
abstract class Father
{
        abstract static void show();
}
--------------------------------------------------------
---------- javac ----------
Father.java:10: 错误: 非法的修饰符组合: abstract和static
        abstract static void show();
                             ^
1 个错误

输出完成 (耗时 0 秒) - 正常终止


所以static与abstract不可以修饰一个方法  static修饰的方法可以通过类名调用。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
java中静态的和抽象的怎么就不能修饰一个方法呢?


你可以这样理解,

abstract class Cat
{
            abstract void show();
}

首先,如果一个类里面有抽象方法,那么这个类也必须被加上申明为抽象类,这时,这个抽象类就不能new  对象了。而
static 修饰的方法可以通过new 对象和类名来调用,但这里因为不能new 对象,所以,这时就产生了矛盾,从这个方面理解,static 与abstrac
是不能同时修饰同一个方法的。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
若还有问题,请继续追问;没问题的话,请将帖子分类改成【已解决】~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马