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

lornwolf 2005-03-25 06:36:35
内嵌类的使用应该在什么场合下呢,虽然知道了它的使用方法,但却不是特别明白它适用的场合,请明白人指点一二。
...全文
665 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
taekwon007 2010-05-30
  • 打赏
  • 举报
回复
原来如此哦,面试问到内部类的用处了,答不上来。
apollo333 2005-03-26
  • 打赏
  • 举报
回复
除了传统上的使用,就是象楼上的很多人分析的事件处理,线程等那样,比如说WINDOWADAPTER什么的。

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

代码能够更灵活。
xq_zz 2005-03-26
  • 打赏
  • 举报
回复
一般用在事件处理上面,事件出理还分为匿名内部类和普通内部类。
lwhxqy 2005-03-26
  • 打赏
  • 举报
回复
发现了一个很好的电脑书籍的下载网,有很多的专业的程序语言教程和国内外软件考试的书籍,这些书籍是由我们这些网络上的软件设计爱好者上传的,有很多新的书籍,你业可以加入我们,为我们的设计工作努力。http://www.netyi.net/in.asp?id=lwhxqy
thesecondbull 2005-03-26
  • 打赏
  • 举报
回复
说的蛮多,事件里用到内部类
asa516 2005-03-26
  • 打赏
  • 举报
回复
fdabobi(小爪尖尖) 说的精辟
lornwolf 2005-03-26
  • 打赏
  • 举报
回复
谢谢大家了,分不多,给大家分分,别嫌少~ :)
007remember 2005-03-26
  • 打赏
  • 举报
回复
让兄弟们见笑啦
007remember 2005-03-26
  • 打赏
  • 举报
回复
哥们
帮帮忙
俺快升级了
结贴时候给11分好不???!!!!
谢谢!!!!!!!!!
fdabobi 2005-03-26
  • 打赏
  • 举报
回复
说的通俗一点,当你发现你在写一个类的时候,必须要用到另一个自己定义的类
而恰好这个类只需要被你当前的类用到
你不想让它被别的类用或者别的类永远或者基本上没什么可能被来调用它
而且恰好这个类比较简单,占据的代码行也不多
那么考虑是否可以以内部类的形式去实现它吧^_^

线程/事件是通常是最容易用到内部类的
线程:需要安全机制,代码一般不会很长
事件:重用性差,只需要实现部分接口以至于代码比较短
xujianfu 2005-03-25
  • 打赏
  • 举报
回复
处理事件,消息的时候比较好
至少corejava上经常用
yonggui111 2005-03-25
  • 打赏
  • 举报
回复
用内部类一是为了封装,二是java的消息机制所需要的
oyljerry 2005-03-25
  • 打赏
  • 举报
回复
在类的内部使用,防止外部使用
jverson 2005-03-25
  • 打赏
  • 举报
回复
cuilichen(fjfjfjfj
回答的很好了,
追求自由 2005-03-25
  • 打赏
  • 举报
回复
cuilichen 2005-03-25
  • 打赏
  • 举报
回复
内部类一般用于封装。

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

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

在这种时候,使用内部类就是一个很好的选择了。
因为内部类在外部是不能实例化的,
这就避免了误用的可能。
007remember 2005-03-25
  • 打赏
  • 举报
回复
建议您抽时间找本《java编程思想》(第2版)
看看
Inner class(在第260页--287页)
007remember 2005-03-25
  • 打赏
  • 举报
回复
写gui界面时候
【课程介绍】      Pytorch项目实战 垃圾分类课程从实战的角度出发,基于真实数据集与实际业务需求,结合当下最新话题-垃圾分类题为实际业务出发点,介绍最前沿的深度学习解决方案。    从0到1讲解如何场景业务分析、进行数据处理,模型训练与调优,最后进行测试与结果展示分析。全程实战操作,以最接地气的方式详解每一步流程与解决方案。    课程结合当下深度学习热门领域,尤其是基于facebook 开源分类神器ResNext101网络架构,对网络架构进行调整,以计算机视觉为核心讲解各大网络的应用于实战方法,适合快速入门与进阶提升。【课程要求】 (1)开发环境:python版本:Python3.7+; torch版本:1.2.0+; torchvision版本:0.4.0+ (2)开发工具:Pycharm;(3)学员基础:需要一定的Python基础,及深度学习基础;(4)学员收货:掌握最新科技图像分类关键技术;(5)学员资料:内含完整程序源码和数据集;(6)课程亮点:专题技术,完整案例,全程实战操作,徒手撸代码【课程特色】 阵容强大讲师一直从事与一线项目开发,高级算法专家,一直从事于图像、NLP、个性化推荐系统热门技术领域。仅跟前沿基于当前热门讨论话题:垃圾分类,课程采用学术届和工业届最新前沿技术知识要点。实战为先根据实际深度学习工业场景-垃圾分类,从产品需求、产品设计和方案设计、产品技术功能实现、模型上线部署。精心设计工业实战项目保障效果项目实战方向包含了学术届和工业届最前沿技术要点项目包装简历优化课程内垃圾分类图像实战项目完成后可以直接优化到简历中【课程思维导图】 【课程实战案例】

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧