A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 常帅 黑马帝   /  2011-7-29 12:42  /  2877 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class A{static class B{} }  感觉这么定义除了他不能访问外部类的非静态成员变量的特性让我感觉有时候不方便外,这么定义的优势是什么?或者特定用途是什么…

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

4 个回复

倒序浏览
黑马网友  发表于 2011-7-29 13:06:18
沙发
(1)用内部类是因为内部类与所在外部类有一定的关系,往往只有该外部类调用此内部类。所以没有必要专门用一个Java文件存放这个类。
(2)静态都是用来修饰类的内部成员的。比如静态方法,静态成员变量,静态常量。它唯一的作用就是随着类的加载(而不是随着对象的产生)而产生,可以用类名+静态成员名直接获得。
这样静态内部类就可以理解了,因为这个类没有必要单独存放一个文件,它一般来说只被所在外部类使用。并且它可以直接被用 外部类名+内部类名 获得。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-7-29 13:17:21
藤椅
楼上回答的好像不是我要问的吧
回复 使用道具 举报
黑马网友  发表于 2011-7-29 13:23:50
板凳
给你一个网址,看看吧。
[url]http://www.exam8.com/computer/djks/dj2/Java/ziliao/200909/1316536.html[/url]
回复 使用道具 举报
黑马网友  发表于 2011-7-29 14:26:39
报纸
明白了,主要区别是静态内部类可以创建静态成员变量。只可以访问外部类的静态变量…创建对象的时候不用创建外部类
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马