
Java中什么是嵌套类? 20
9个回答
展开全部
第一,你要知道什么是内部类,第二,你要知道内部类根据使用方式(需求)分为2类,一是普通内部类,二是静态内部类(也就是你说的嵌套类),两者在代码上就是后者被前者多了static修饰。两者在使用上由什么区别呢,或者说处于什么需求要有这两个内部类呢?
普通图内部类我们看到最多的就是集合里面的itarator,它通过内部类实现Itarator接口,来访问外部类数据,对外部类数据实现迭代。一般通过回调暴露接口
静态内部类即嵌套类,Map.Entry<K,V>就是一个例子。它就相当与一个组合,在类的内部纯粹当作一个类型来使用。
具体点,比如我们要实现一个链表,链表里需要一个节点Node类,一个迭代器
class Linked{
static class Node{}
Node next;
private class LinkedItarator implements Itarator{
}
public Itarator itarator(){
return new LinkedItarator();
}
}
Node就相当与链表里的一个成员,在外部类使用,而LinkedItarator实现迭代器,直接对外部数据处理
普通图内部类我们看到最多的就是集合里面的itarator,它通过内部类实现Itarator接口,来访问外部类数据,对外部类数据实现迭代。一般通过回调暴露接口
静态内部类即嵌套类,Map.Entry<K,V>就是一个例子。它就相当与一个组合,在类的内部纯粹当作一个类型来使用。
具体点,比如我们要实现一个链表,链表里需要一个节点Node类,一个迭代器
class Linked{
static class Node{}
Node next;
private class LinkedItarator implements Itarator{
}
public Itarator itarator(){
return new LinkedItarator();
}
}
Node就相当与链表里的一个成员,在外部类使用,而LinkedItarator实现迭代器,直接对外部数据处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是内部类啊?只听说过内部类,就是嵌套在类的内部。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询