Java嵌套接口
1 什么是Java嵌套接口
在另一个接口或类中声明的接口,称为嵌套接口。嵌套接口用于对相关接口进行分组,以便于维护。嵌套接口必须由外部接口或类引用。不能直接访问。
2 Java嵌套接口注意事项
- 如果嵌套接口在接口中声明,则它必须是public修饰符,但如果在类中声明,则它可以具有任何访问修饰符。
- 嵌套接口被隐式声明为static静态。
3 Java嵌套接口的语法
3.1 接口中声明嵌套接口
interface interface_name{
...
interface nested_interface_name{
...
}
}
3.2 类中声明嵌套接口
class class_name{
...
interface nested_interface_name{
...
}
}
4 接口中声明嵌套接口的例子
在此示例中,我们将学习如何声明嵌套接口以及如何访问它。
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* 接口中声明嵌套接口的例子
*/
interface Showable{
void show();
interface Message{
void msg();
}
}
class Demo implements Showable.Message{
public void msg(){
System.out.println("你好,嵌套接口");
}
public static void main(String args[]){
Showable.Message message=new Demo();//向上转换
message.msg();
}
}
输出结果为:
你好,嵌套接口
上面的示例中,我们只能通过外部接口Showable来访问Message接口,因为它不能直接访问。在集合框架中,Sun公司提供了一个嵌套接口Entry。Entry是Map的子接口,我们可以通过Map.Entry访问。
5 类中声明嵌套接口的例子
让我们看看如何在类内部定义接口以及如何访问它。
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* 类中声明嵌套接口的例子
*/
class A{
interface Message{
void msg();
}
}
class Demo implements A.Message{
public void msg(){
System.out.println("你好,嵌套接口");
}
public static void main(String args[]){
A.Message message=new Demo();//向上转换
message.msg();
}
}
输出结果为:
你好,嵌套接口
6 Java嵌套接口的工作原理
反编译后的嵌套接口的源码:
public static interface Showable$Message
{
public abstract void msg();
}
热门文章
优秀文章