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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 4968547610317 于 2013-6-2 16:39 编辑

public class Outer {//外部类
    int x=3;
    class Inner{//内部类  可以被修饰为private(进行封装)
       //可以被静态static修饰
       void show(){
           int x=4;
           System.out.println(x);//4
           System.out.println(Outer.this.x);//3
       }
}
{
  System.out.println("1");//构造代码块
}
static
{
      求解为什么内部类不能有静态代码块
}
}
}

评分

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

查看全部评分

1 个回复

倒序浏览
我的理解是跟   非静态内部类中不能有静态成员是一个道理
java类加载顺序,首先加载类,执行static变量初始化,接下来执行对象的创建。
例中  首先加载Outer外部类,再加载Inner,而在没有实例化Inner的前提下,怎么给Inner初始化呢。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马