黑马程序员技术交流社区
标题:
java中静态的和抽象的怎么就不能修饰一个方法呢?
[打印本页]
作者:
心弦上的景致
时间:
2013-3-16 14:56
标题:
java中静态的和抽象的怎么就不能修饰一个方法呢?
代码和理论帮我分析一下
作者:
张宝
时间:
2013-3-16 15:12
abstract class Father
{
abstract static void show();
}
--------------------------------------------------------
---------- javac ----------
Father.java:10: 错误: 非法的修饰符组合: abstract和static
abstract static void show();
^
1 个错误
输出完成 (耗时 0 秒) - 正常终止
所以static与abstract不可以修饰一个方法 static修饰的方法可以通过类名调用。
作者:
唐永康
时间:
2013-3-16 16:59
java中静态的和抽象的怎么就不能修饰一个方法呢?
你可以这样理解,
abstract class Cat
{
abstract void show();
}
首先,如果一个类里面有抽象方法,那么这个类也必须被加上申明为抽象类,这时,这个抽象类就不能new 对象了。而
static 修饰的方法可以通过new 对象和类名来调用,但这里因为不能new 对象,所以,这时就产生了矛盾,从这个方面理解,static 与abstrac
是不能同时修饰同一个方法的。
作者:
陈丽莉
时间:
2013-3-16 17:04
若还有问题,请继续追问;没问题的话,请将帖子分类改成【已解决】~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2