java中的接口的方法能不能用abstract来定义?

interface jiekou{
abstract void shixian();
}//这样写对不对?

定义方法的只有public、private、protected和default四个修饰符,
没有abstract,而且接口的方法必须是public的
虽然写其他的也不会报错,但是接口本来就是用来被继承的,必须public
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-01
1.编译可以通过。
2.java中接口里的方法,无论如何都是public abstract的,不管你是否声明或者写成其他类型。追问

如果是考试的话,这样写算错还是算对

追答

这个不清楚,这不应该是一个可以争论的问题。因为任何写法都是对的,所以不应该判你错;java语法上允许用户这样编写代码也正是这个意思。
要么你写完整,比如public abstract void xxx() 、public static final String s = "";要么全不写,比如void xxx() 、String s = ""。另外,接口的修饰符public 和不写是有区别的,如果定义成默认修饰符,包以外会无法访问这个接口。

本回答被提问者和网友采纳
第2个回答  2012-11-10
没有必要接口中所有方法都是抽象方法没有必要,你非要写也是可以的,这种问题其实你可以自己在eclipse中自己试试就行
第3个回答  2012-11-10
没有必要设置成这种形式吧、、
相似回答