Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在接口中使用抽象关键字_Java_Oop - Fatal编程技术网

Java 在接口中使用抽象关键字

Java 在接口中使用抽象关键字,java,oop,Java,Oop,我知道“公共接口”和“公共抽象接口”之间的区别,但是当应用于方法时有什么区别 public interface IPluggableUi { abstract public JComponent getPanel(); abstract public void initUi(); } 或 不,你也可以写 public interface IPluggableUi { JComponent getPanel(); void initUi(); } 这是一样的否。

我知道“公共接口”和“公共抽象接口”之间的区别,但是当应用于方法时有什么区别

public interface IPluggableUi {
    abstract public JComponent getPanel();
    abstract public void initUi();
}


不,你也可以写

public interface IPluggableUi {
    JComponent getPanel();
    void initUi();
}

这是一样的

否。您只能对抽象基类的方法应用
abstract

接口指定最终必须由具体(非抽象类)实现的方法集

Abstract将指定一个方法,该方法不是在抽象基类中实现的,必须在具体的子类中实现


(还请注意,
public
关键字对于接口上的方法规范是多余的)

在接口中声明的方法默认为public和abstract

然而,人们可以:

public interface myInterface{
     public abstract void myMethod();
}
但是,不鼓励使用这些修改器。抽象修饰符应用于接口声明也是如此

特别是关于你的问题:

为了与旧版本的Java平台兼容,允许但不鼓励为接口中声明的方法冗余指定抽象修饰符

资料来源:


第9.4节:抽象方法声明。

旁注;接口中定义的值是公共静态最终值,我的默认值是

int值=5

公共静态最终int值=5


在接口中。

Java中没有公共抽象接口。所有接口都是“抽象”的,因为它们不能被实例化。所有函数都是自动“抽象”的,因为它们需要实现

这些答案没有一个被接受的原因是什么?
public interface myInterface{
     public abstract void myMethod();
}