黑马程序员技术交流社区
标题:
关于内部类,内部接口。【已解决】
[打印本页]
作者:
马林贺
时间:
2012-6-11 16:44
标题:
关于内部类,内部接口。【已解决】
本帖最后由 马林贺 于 2012-6-12 11:19 编辑
在定义内部类,内部接口的时候有没有什么限制?
比如说 可以再类的里面定义内部类,那可不可以定义内部接口。
谁有比较具体的总结,分享一下。
作者:
赵兵锋
时间:
2012-6-11 17:10
public class Main implements T.TIN{//实现了一个内部接口
public static void main(String[] args) {
new T().new TI().f();
new Main().f();
}
@Override
public void f() {
System.out.println("I'm in a function which in Class Main");
}
}
class T{
class TI implements TIN{//内部类,实现了一个内部接口
@Override
public void f() {
System.out.println("I'm in a function which in a Inner Class of Class T");
}
}
interface TIN{//内部接口,没有定义成私有的,外部可访问,即可实现此接口
void f();
}
}
输出:
I'm in a function which in a Inner Class of Class T
I'm in a function which in Class Main
复制代码
作者:
付信榕
时间:
2012-6-11 17:12
/*可以的。
但内部接口只能定义在外部类或接口下,不能定义在内部抽象类或内部接口下。
内部抽象类的多重实现,即在内部抽象类或内部接口下再定义二级内部抽象类,甚至多级。
举例:*/
public class Test {
public interface Sort {
public void sort(int[] arr);
}
public static void main(String[] args){
System.out.println("hello world");
}
作者:
sbeeqnui1987
时间:
2012-6-11 18:30
当类与接口(或者是接口与接口)发生方法命名冲突的时候,此时必须使用内部类来实现。
这是唯一一种必须使用内部类的情况。
用接口不能完全地实现多继承,用接口配合内部类才能实现真正的多继承。
匿名内部类:
1.匿名内部类是一种特殊的局部内部类,它是通过匿名类实现接口。
2.不同的是他是用一种隐含的方式实现一个接口或继承一个类,而且他只需要一个对象
3.在继承这个类时,根本就没有打算添加任何方法。
4.匿名内部类大部分情况都是为了实现接口的回调。
内部接口:
在一个类中也可以定义内部接口
在接口中可以定义静态内部类,此时静态内部类位于接口的命名空间中。
在接口中还可以定义接口,这种接口默认也是public static 的,如Map.Entry就是这种接口
作者:
黑马-王言龙
时间:
2012-6-11 19:31
等级太低,不知道还有个“内部接口”,求解释:(
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2