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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© muffin 中级黑马   /  2015-8-8 20:33  /  306 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Outer
{
        private static int num=5;
        class Inner//静态内部类。当内部类被静态修饰后,就只能访问外部类的静态成员了。
        {
                void function()
                {
                        System.out.println("inner"+num);
                }
        }
        static void method()
        {
                Inner i=new Inner();
                i.function();
        }
}

4 个回复

倒序浏览
为什么这样写不可以呢,下面的那个static函数明明在里面new了一个对象。为啥还提示无法使用非静态变量。
回复 使用道具 举报
你的内部类没有加static修饰吧!
回复 使用道具 举报
lingxia125 发表于 2015-8-8 20:57
你的内部类没有加static修饰吧!

我的问题就是为啥内部类没有加static修饰,就无法加载。。。
回复 使用道具 举报
muffin 发表于 2015-8-8 21:04
我的问题就是为啥内部类没有加static修饰,就无法加载。。。

是不是因为静态要优先于那个类存在。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马