java中局部内部类与成员内部类的区别是什么?

 我来答
568145421
2012-09-20 · 知道合伙人软件行家
568145421
知道合伙人软件行家
采纳数:1353 获赞数:6756

向TA提问 私信TA
展开全部
你好,最明显的区别就是:
成员内部类和类的属性是平行的。
而局部内部类是方法体中声明的类。举个例子:
public class Demo {
private int age ;
private class Inner { //Inner就是成员内部类
//...
}

public void test() {
class InnerMethod { // 就是局部内部类
//...
}
//....
}
//.....
}
小天3Ty
2012-09-20 · TA获得超过120个赞
知道答主
回答量:405
采纳率:0%
帮助的人:288万
展开全部
下面已经说的很详细了,我补充一下。main方法是可执行方法,在main方法中不允许有内部类。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zcdfghjkl
2012-09-20 · 超过20用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:35.2万
展开全部
成员内部类: 即作为外部类的一个成员存在,与外部类的属性、方法并列。
注意:成员内部类中不能定义静态变量,但可以访问外部类的所有成员,而且内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类。
局部内部类: 即在方法中定义的内部类,与局部变量类似,在局部内部类前不加修饰符public或private,其范围为定义它的代码块。
注意:局部内部类中不可定义静态变量,可以访问外部类的局部变量(即方法内的变量),但是变量必须是final的。在类外不可直接生成局部内部类(保证局部内部类对外是不可见的)。要想使用局部内部类时需要生成对象,对象调用方法,在方法中才能调用其局部内部类。通过内部类和接口达到一个强制的弱耦合,用局部内部类来实现接口,并在方法中返回接口类型,使局部内部类不可见,屏蔽实现类的可见性。

参考资料: http://zhidao.baidu.com/question/179237516

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式