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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 任振铭 中级黑马   /  2015-9-27 09:43  /  723 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

写局部内部类时,可以不写他的外部类直接在方法中写内部类吗?也就是说内部类可以脱离外部类存在吗

17 个回复

倒序浏览
不可以吧
回复 使用道具 举报

我敲代码实验的结果是不可以,但是我不太理解,既然局部内部类是存在与方法中的,那么没有外部类也无所谓了,但是后来我想明白了,没有外部类又怎么会有方法呢,局部内部类必须在方法中,方法在类中,所以局部内部类无法脱离类而存在
回复 使用道具 举报
任振铭 发表于 2015-9-27 23:07
我敲代码实验的结果是不可以,但是我不太理解,既然局部内部类是存在与方法中的,那么没有外部类也无所谓了, ...

你弄明白了就好
回复 使用道具 举报
没懂你的意思,什么叫脱离外部类而存在,
内部类是可以写在方法里的,
看代码
  1. public class InnerDemo {

  2.         public static void main(String[] args) {
  3.                 // TODO Auto-generated method stub
  4.                 class Inner{
  5.                         void show(){
  6.                                 System.out.println("inner is running");
  7.                         }
  8.                 }
  9.                 Inner in = new Inner();
  10.                 in.show();
  11.         }

  12. }
复制代码


运行结果:inner is running

回复 使用道具 举报
lvfx 来自手机 中级黑马 2015-9-28 12:08:56
地板
菊部累不累
回复 使用道具 举报
yiranpanda 来自手机 中级黑马 2015-9-28 12:27:36
7#
累不累~
回复 使用道具 举报
没有外部类的存在,就不能叫内部类吧
回复 使用道具 举报
大大大卷 发表于 2015-9-28 12:03
没懂你的意思,什么叫脱离外部类而存在,
内部类是可以写在方法里的,
看代码

我的意思是这样的,以你的例子来说就是没有InnerDemo类
回复 使用道具 举报

老师真是躺着也中枪
回复 使用道具 举报

不累(类)
回复 使用道具 举报
郭潮潮 发表于 2015-9-28 15:15
没有外部类的存在,就不能叫内部类吧

的确是,懂了
回复 使用道具 举报
可以用匿名内部类
回复 使用道具 举报
应该不可以
回复 使用道具 举报
在内部类中怎么调用外部类的方法呢????
回复 使用道具 举报
Orangeapp 发表于 2015-9-28 22:43
在内部类中怎么调用外部类的方法呢????

内部类可以直接访问外部内成员,所以直接调用就好了
回复 使用道具 举报
syusouki 发表于 2015-9-28 22:16
可以用匿名内部类

匿名内部类也要写在外部类的成员方法中
回复 使用道具 举报

确实不可以
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马