我知道“公共接口”和“公共抽象接口”之间的区别,但是当应用于方法时会有区别吗?
public interface IPluggableUi {
abstract public JComponent getPanel();
abstract public void initUi();
}
或
public interface IPluggableUi {
public JComponent getPanel();
public void initUi();
}
答案 0 :(得分:24)
接口中声明的方法默认为public和abstract。
然而,有人可以:
public interface myInterface{
public abstract void myMethod();
}
但是,不鼓励使用这些修饰符。抽象修饰符也应用于接口声明。
特别是关于你的问题:
“为了与旧版本的Java平台兼容,允许但不鼓励,但作为一种风格,不要为接口中声明的方法冗余地指定抽象修饰符。”
源: http://java.sun.com/docs/books/jls/second_edition/html/interfaces.doc.html
第9.4节:抽象方法声明。
答案 1 :(得分:4)
public interface IPluggableUi {
JComponent getPanel();
void initUi();
}
同样的事情
答案 2 :(得分:4)
旁注;界面中定义的值是 public static final 我的默认值
int VALUE = 5;
与
相同public static final int VALUE = 5;
在界面中。
答案 3 :(得分:0)
没有。您只能将方法abstract
应用于抽象基类。
接口指定必须由具体(非抽象类)最终实现的方法集。
Abstract将指定一个未在抽象基类中实现的方法,并且必须在具体的子类中实现。
(另请注意,public
关键字对于接口上的方法规范是多余的)
答案 4 :(得分:0)
Java中没有公共抽象接口。所有接口都是“抽象的”,因为它们无法实例化。所有功能都是自动“抽象”的,因为它们需要实现。