Java中公共接口和私有接口的区别是什么
我知道Java中所有访问修饰符之间的区别。然而,有人问了我一个非常有趣的问题,我很难找到答案:Java中的Java中公共接口和私有接口的区别是什么,java,Java,我知道Java中所有访问修饰符之间的区别。然而,有人问了我一个非常有趣的问题,我很难找到答案:Java中的私有接口和公共接口有什么区别,特别是如何将其用作类成员?任何帮助都将不胜感激。我相信我们都知道公共接口的用法,所以我想在这里提到私有/受保护接口的要点 接口可以是类定义的成员,并且可以在那里声明为私有或受保护 public class Test { private interface Sortable { } protected interface Se
私有
接口和公共
接口有什么区别,特别是如何将其用作类成员?任何帮助都将不胜感激。我相信我们都知道公共接口的用法,所以我想在这里提到私有/受保护接口的要点
接口
可以是类定义的成员,并且可以在那里声明为私有
或受保护
public class Test {
private interface Sortable {
}
protected interface Searchable {
}
}
public class PrivateInterface {
private interface InnerInterface {
void f();
}
private class InnerClass1 implements InnerInterface {
public void f() {
System.out.println("From InnerClass1");
}
}
private class InnerClass2 implements InnerInterface {
public void f() {
System.out.println("From InnerClass2");
}
}
public static void main(String[] args) {
PrivateInterface pi = new PrivateInterface();
pi.new InnerClass1().f();
pi.new InnerClass2().f();
}
}
/* Output:
From InnerClass1
From InnerClass2
*/
接口本身可以是包私有的,而不是方法
在里面。您可以定义只能使用的接口(按名称)
在包中定义了它,但它的方法与
所有接口方法。如果类实现了该接口,则
它定义的方法必须是公共的。这里的关键是它是
在包外部不可见的接口类型,而不是
方法
接口上的public
、private
和protected
访问修饰符的含义与类上的含义相同。我通常会在嵌套在类中的接口上看到这些修饰符。比如:
接口声明可能包括以下访问修饰符:
public protected private abstract static strictfp
public:如果接口类型声明为public,则任何代码都可以访问它
protected/private:protected和private访问修饰符仅适用于直接封闭类声明中的成员接口。成员接口
是其声明直接包含在另一个类或接口声明中的接口
static:访问修饰符static
仅适用于成员接口,不适用于顶级接口
抽象:每个接口都是隐式的abstract
。此修饰符已过时,不应使用
可以在新程序中使用
strictfp:修饰符的作用是使所有浮点表达式或双精度表达式
在接口声明中,可以显式地使用
Ref:这类似于私有
和公共
类之间的区别。类似是什么意思?我每天都学新东西。不能说我曾经想过把接口作为类成员。
public protected private abstract static strictfp