社区
Java SE
帖子详情
大家是如何理解内部类的? JAVA之父为什么要设计内部类出来?
wtjd
2009-08-26 03:02:48
大家是如何理解内部类的? JAVA之父为什么要设计内部类出来?
...全文
152
9
打赏
收藏
大家是如何理解内部类的? JAVA之父为什么要设计内部类出来?
大家是如何理解内部类的? JAVA之父为什么要设计内部类出来?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wtjd
2009-08-31
打赏
举报
回复
其实,我也没有完全弄懂内部类的实现机制,以及内部类的作用。
下面是书本上的解释
为什么需要内部类?
java内部类有什么好处?为什么需要内部类?
首先举一个简单的例子,如果你想实现一个接口,但是这个接口中的一个方法和你构想的这个类中的一个方法的名称,参数相同,你应该怎么办?这时候,你可以建一个内部类实现这个接口。由于内部类对外部类的所有内容都是可访问的,所以这样做可以完成所有你直接实现这个接口的功能。
不过你可能要质疑,更改一下方法的不就行了吗?
的确,以此作为设计内部类的理由,实在没有说服力。
真正的原因是这样的,java中的内部类和接口加在一起,可以的解决常被C++程序员抱怨java中存在的一个问题——没有多继承。实际上,C++的多继承设计起来很复杂,而java通过内部类加上接口,可以很好的实现多继承的效果。
yuaa88
2009-08-31
打赏
举报
回复
[Quote=引用 7 楼 wtjd 的回复:]
我总结一下吧。
可以理解为什么内部类为什么可以使用外部类的成员了,可以拿人和寄生虫来类比,某一个寄生虫,只生存在某一个人体内中,人体内的各项组织寄生虫可以用,
所以要创建这个寄生虫,则必须先创建人才行。
就你各位所说的,内部类其实是一种封装技术之一。
[/Quote]
这个比喻挺可爱,也很易懂,哈哈~~
wtjd
2009-08-31
打赏
举报
回复
我总结一下吧。
可以理解为什么内部类为什么可以使用外部类的成员了,可以拿人和寄生虫来类比,某一个寄生虫,只生存在某一个人体内中,人体内的各项组织寄生虫可以用,
所以要创建这个寄生虫,则必须先创建人才行。
就你各位所说的,内部类其实是一种封装技术之一。
lihaifeng0412
2009-08-26
打赏
举报
回复
我一般不喜欢使用内部类,除非不用不行!
zhenshi736
2009-08-26
打赏
举报
回复
内部类的功能是实现某一个局部功能,且这个功能只能被他所在的外部类所调用!不能被其他的类调用!
priestmoon
2009-08-26
打赏
举报
回复
这个问题和我的一个问题重叠在了一起。即内部类为什么可以用来实现“回调”?
我的那个问题是问为什么Method可以实现“回调”?
其实我最想知道的,是什么是“回调”?
http://topic.csdn.net/u/20090826/14/5c150a9f-190a-4dee-a0f8-14eefa130d4f.html?72901
loveofmylife
2009-08-26
打赏
举报
回复
内部类作用是更小层次的封装,把一个类隐藏在另一个类的内部,只让它的外嵌类看得到它,能更方便的在内部类中访问外部类的私有成员。在现实世界中,也有体现内部类存在的意义,比如寄生。
树成
2009-08-26
打赏
举报
回复
内部类就是嵌套在一个类内部的类,至于为什么要有内部类,你用到内部类就应该知道了,感觉就像鞋子的鞋垫一样,有了舒服点,没有也无所谓。还有,内部类这个东西未必是java之父搞出来的,就像你是你父亲创造的,但是也不是你身上所有东西都是你父亲搞出来的,不然也不会经常骂你不肖子了(不然儿子再不孝,那也是自己的错,也是骂自己了)。java是集合很多人的心血和智慧得来的,不是一个java之父弄出来的。
justinavril
2009-08-26
打赏
举报
回复
内部类主要是为了实现隐藏的 就是内部的实现不想被外界所了解 或者说没有必要暴露实现
最典型的就是Java的事件处理。大部分人只关心事件能不能被触发以及触发后,是不是按照预定的逻辑执行的,并不关心这些逻辑是如何实现的。
Java
内部类
介绍 - 静态
内部类
和成员
内部类
内部类
就是定义在一个类里面的类,里面的类可以
理解
成(寄生),外部类可以
理解
成(宿主)。// 外部的People类可以
理解
成宿主 public class People {// 内部的Student类可以
理解
成寄生 class Student {} }
内部类
的使用场景、作用当一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个内部的完整的结构又只为外部事物提供服务,那么整个内部的完整结构可以选择使用
内部类
来
设计
。
内部类
通常可以方便访问外部类的成员,包括私有的成员。
Java
中的
内部类
(如果想知道
Java
中有关
内部类
的知识点,那么只看这一篇就足够了!)
Java
中的
内部类
(如果想知道
Java
中有关
内部类
的知识点,那么只看这一篇就足够了!)
Java
中的
内部类
如何
理解
——详解
今天给大家讲解的是
内部类
以及匿名
内部类
,希望能够对你在
Java
的学习过程中起到一定的帮助。
Java
内部类
(匿名
内部类
)
范例:Outer.Inner in = new Outer().new.Inner()范例: Outer.Inner in = new Outer.Inner();静态
内部类
中是否可以直接访问外部类的静态成员?静态
内部类
中是否可以直接访问外部类的实例成员?,外部类的静态成员只有一份,可以被共享访问。,外部类的实例成员必须要用外部类对象访问。new 类|抽象类名|或者接口名(){...
Java
的四个
内部类
总结及为什么使用
内部类
为什么使用
内部类
? 一个
内部类
对象可以访问创建它的外部类对象的内容,包括私有数据!
内部类
有效实现了“多重继承”,优化
Java
单继承的缺陷。
内部类
具有很好的封装性。 知道为什么使用
内部类
了,就直接开始说四个
内部类
了。 静态
内部类
静态
内部类
可以访问外部类所有的静态变量,不可以访问外部类的非静态变量。 定义静态
内部类
class Outer{ private static int i = 1; static class InnerS{ public void met
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章