想问一下,什么时候需要用到内部类?

时间:2021-06-29 16:01:52
内嵌类的使用应该在什么场合下呢,虽然知道了它的使用方法,但却不是特别明白它适用的场合,请明白人指点一二。

18 个解决方案

#1


写gui界面时候

#2


建议您抽时间找本《java编程思想》(第2版)
看看
Inner class(在第260页--287页)

#3


内部类一般用于封装。

比如我们可以使用一个类实现Runnable接口,在实现Runnable的时候,函数必须是
public void run(){}    //注意是 public

但是,在很多时候,我们希望这个Runnable只是在类的内部使用,即,实现一个内部线程。
这样就存在着一种风险,在类的外部也可以使用这个接口实现的功能了。

在这种时候,使用内部类就是一个很好的选择了。
因为内部类在外部是不能实例化的,
这就避免了误用的可能。

#4


#5


cuilichen(fjfjfjfj
回答的很好了,

#6


在类的内部使用,防止外部使用

#7


用内部类一是为了封装,二是java的消息机制所需要的

#8


处理事件,消息的时候比较好
至少corejava上经常用

#9


说的通俗一点,当你发现你在写一个类的时候,必须要用到另一个自己定义的类
而恰好这个类只需要被你当前的类用到
你不想让它被别的类用或者别的类永远或者基本上没什么可能被来调用它
而且恰好这个类比较简单,占据的代码行也不多
那么考虑是否可以以内部类的形式去实现它吧^_^

线程/事件是通常是最容易用到内部类的
线程:需要安全机制,代码一般不会很长
事件:重用性差,只需要实现部分接口以至于代码比较短

#10


fdabobi(小爪尖尖) 说的精辟

#11


说的蛮多,事件里用到内部类

#12


发现了一个很好的电脑书籍的下载网,有很多的专业的程序语言教程和国内外软件考试的书籍,这些书籍是由我们这些网络上的软件设计爱好者上传的,有很多新的书籍,你业可以加入我们,为我们的设计工作努力。http://www.netyi.net/in.asp?id=lwhxqy

#13


一般用在事件处理上面,事件出理还分为匿名内部类和普通内部类。

#14


除了传统上的使用,就是象楼上的很多人分析的事件处理,线程等那样,比如说WINDOWADAPTER什么的。

其他类型的内部类还是尽量少用。

代码能够更灵活。

#15


哥们
帮帮忙
俺快升级了
结贴时候给11分好不???!!!!
谢谢!!!!!!!!!

#16


让兄弟们见笑啦

#17


谢谢大家了,分不多,给大家分分,别嫌少~ :)

#18


原来如此哦,面试问到内部类的用处了,答不上来。

#1


写gui界面时候

#2


建议您抽时间找本《java编程思想》(第2版)
看看
Inner class(在第260页--287页)

#3


内部类一般用于封装。

比如我们可以使用一个类实现Runnable接口,在实现Runnable的时候,函数必须是
public void run(){}    //注意是 public

但是,在很多时候,我们希望这个Runnable只是在类的内部使用,即,实现一个内部线程。
这样就存在着一种风险,在类的外部也可以使用这个接口实现的功能了。

在这种时候,使用内部类就是一个很好的选择了。
因为内部类在外部是不能实例化的,
这就避免了误用的可能。

#4


#5


cuilichen(fjfjfjfj
回答的很好了,

#6


在类的内部使用,防止外部使用

#7


用内部类一是为了封装,二是java的消息机制所需要的

#8


处理事件,消息的时候比较好
至少corejava上经常用

#9


说的通俗一点,当你发现你在写一个类的时候,必须要用到另一个自己定义的类
而恰好这个类只需要被你当前的类用到
你不想让它被别的类用或者别的类永远或者基本上没什么可能被来调用它
而且恰好这个类比较简单,占据的代码行也不多
那么考虑是否可以以内部类的形式去实现它吧^_^

线程/事件是通常是最容易用到内部类的
线程:需要安全机制,代码一般不会很长
事件:重用性差,只需要实现部分接口以至于代码比较短

#10


fdabobi(小爪尖尖) 说的精辟

#11


说的蛮多,事件里用到内部类

#12


发现了一个很好的电脑书籍的下载网,有很多的专业的程序语言教程和国内外软件考试的书籍,这些书籍是由我们这些网络上的软件设计爱好者上传的,有很多新的书籍,你业可以加入我们,为我们的设计工作努力。http://www.netyi.net/in.asp?id=lwhxqy

#13


一般用在事件处理上面,事件出理还分为匿名内部类和普通内部类。

#14


除了传统上的使用,就是象楼上的很多人分析的事件处理,线程等那样,比如说WINDOWADAPTER什么的。

其他类型的内部类还是尽量少用。

代码能够更灵活。

#15


哥们
帮帮忙
俺快升级了
结贴时候给11分好不???!!!!
谢谢!!!!!!!!!

#16


让兄弟们见笑啦

#17


谢谢大家了,分不多,给大家分分,别嫌少~ :)

#18


原来如此哦,面试问到内部类的用处了,答不上来。