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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© vicoooo 中级黑马   /  2013-6-29 19:54  /  1669 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

最近有人问我实例内部类、静态内部类,局部内部类的问题,突然实例内部类不知道怎么回答,各位有没有好的解答。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

6 个回复

倒序浏览
难道是匿名内部类?
回复 使用道具 举报
内部类可以定义在外部类的成员位置上,可以被private,static修饰,被static修饰后,就出现了访问局限,只能访问外部类静态的成员。注意:当内部类中定义了静态成员,该内部类必须是静态的。
也可以定义在外部类的方法上(局部内部类)。

匿名内部类:
1.      匿名内部类其实就是内部类的简写形式。
2.      定义匿名内部类的前提:内部类必须是继承一个类或者实现接口。
3.      匿名内部类的格式:  new 父类或者接口(){定义子类的内容}.
4. 其实匿名内部类就是一个匿名子类对象。而且这个对象有点胖,也可以理解为带内容的对象。
5.匿名内部类中定义的方法最好不要超过3个。

评分

参与人数 1技术分 +1 收起 理由
张勇1993 + 1 赞一个!

查看全部评分

回复 使用道具 举报
大部分时候。内部类都被作为成员内部类定义,而不是作为局部内部类。成员内部类是一种与属性Field和方法类似的类成员,就像成员变量被分为类变量和实例变量一样吧,定义变量有static修饰的就是类变量,没有static修饰的就是实例变量;而成员内部类分静态内部类和非静态内部类,有static修饰的成员内部类就是静态内部类,没有static修饰的成员内部类就是非静态内部类,也就是实例内部类吧。。。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
加油
回复 使用道具 举报

这个也是自己看到的,希望对楼主有帮助。

实例内部类
静态内部类
局部内部类
主要特征
内部类的实例引用特定的外部类的实例
内部类的实例不与外部类的任何实例关联
可见范围是所在的方法
可用的修饰符
访问控制修饰符,abstract,final
访问控制修饰符,static,abstract,final
abstract,final
可以访问外部类的哪些成员
可以直接访问外部类的所有成员
只能直接访问外部类的静态成员
可以直接访问外部类的所有成员,并且能访问所在方法的final类型的变量和参数
拥有成员类型
只能拥有实例成员
可以拥有静态成员和实例成员
只能拥有实例成员
外部类如何访问内部类的成员
必须通过内部类的实例来访问
对于静态成员,可以通过内部类的完整类名来访问
必须通过内部类的实例来访问


回复 使用道具 举报
放飞自己365 发表于 2013-6-30 16:20
大部分时候。内部类都被作为成员内部类定义,而不是作为局部内部类。成员内部类是一种与属性Field和方法类 ...

呵呵,谢谢解答。我也觉得是这样的,上次被人误导了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马