黑马程序员技术交流社区

标题: 静态内部类问题 [打印本页]

作者: yan    时间: 2013-8-12 20:16
标题: 静态内部类问题
本帖最后由 yan 于 2013-8-13 22:37 编辑

class outer
{
        static class inner
        {
     void show()
                 {
                 System.out.println("内部类");
         }
         void show1()
                 {
          System.out.println("hello");
         }

        }
        void function()
                {
         inner n=new inner();
                 n.show();
        }
}
class InnerDemo2
{
        public static void main(String[] args)
        {
               
                new outer.inner().show();
               
        }
}
内部类被static修饰时,想要直接访问内部类的方法,使用new outer.inner(),但是这样只能访问其中的一个方法,如果想要访问另一个方法,又要重写new一个
我想知道的是有没有这么一种方法,一个引用变量可以接收内部类对象,然后使用引用去调用内部类方法
作者: 饭后小笼包    时间: 2013-8-12 21:37
和普通的new对象一样啊
outer.inner oi = new outer.inner();
oi.show();
oi.show1();

另外说一句  你这类名首字母能不能大写   这方面没必要特立独行
作者: 饭后小笼包    时间: 2013-8-12 21:37
和普通的new对象一样啊
outer.inner oi = new outer.inner();
oi.show();
oi.show1();

另外说一句  你这类名首字母能不能大写   这方面没必要特立独行
作者: 陈贺    时间: 2013-8-12 21:59
内部类被static修饰时,是不能建立对象的。所以没有这种方法。
作者: 张俊生    时间: 2013-8-12 22:13
好学学格式,好的格式会增加好感的!
作者: 饭后小笼包    时间: 2013-8-12 23:05
本帖最后由 饭后小笼包 于 2013-8-12 23:08 编辑
陈贺 发表于 2013-8-12 21:59
内部类被static修饰时,是不能建立对象的。所以没有这种方法。

大哥  你确定?你试过没有?
反正我试过 是可以的.
另外我第一次听说static还有不让创建对象这个功能!

作者: 夜写意    时间: 2013-8-12 23:50
new Outer.Inner().show();这个是匿名调用。
Outer.Inner oi = new Outer.Inner();这个就给对象取了名字了。
就像是:
第一种是:来个人,给我show一下。show完他闪了,你下次找不到他了,只能再找个人。
第二种是:来个人,他名字是oi。oi给我show一下。第二次,oi再给我show一下,第三次...累死他。
作者: 以防万一    时间: 2013-8-13 22:27
亲,如问题已解决请将分类的未解决改为已解决。

以后的问题贴也要及时更改分类哦~


保持队形,谢谢合作
作者: yan    时间: 2013-8-13 22:34
杨璐敏 发表于 2013-8-13 22:27
亲,如问题已解决请将分类的未解决改为已解决。

以后的问题贴也要及时更改分类哦~

此贴求分啊
作者: 以防万一    时间: 2013-8-13 22:36
yan 发表于 2013-8-13 22:34
此贴求分啊

你还没改呢就想先要分啊。。。

以后要记得更改分类哦






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2