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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 猪油炒鸡蛋 中级黑马   /  2015-5-18 13:45  /  1128 人查看  /  20 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Demo3_Innerclass{

        public static void main(String[] args){
               
                Outer.Inner oi = new Outer.Inner();   //第五行求解
                oi.method();
               
                Outer.Inner2.method();
        }
}


class Outer{

        static class Inner{
       
                public void method(){
                        System.out.println("HelloWorld");
                }
        }
        static class Inner2{
       
                public static void method(){
                        System.out.println("12345");
                }
        }

}

20 个回复

倒序浏览
为什么第五行写成        Outer.Inner oi = new Outer().new Inner();就报错了呢
回复 使用道具 举报
class Test1{

        public static void main(String[] args){
                Outer.Inner oi = new Outer().new Inner();  //第四行
                oi.show();
        }
}


class Outer{

        public int num = 10;
        class Inner{
       
                public int num = 20;
                public void show(){
                        int num = 30;
                        System.out.println(num);
                        System.out.println(this.num);
                        System.out.println(Outer.this.num);
                       
                }
        }
}






这个的第四行写成      Outer.Inner oi = new Outer.Inner(); 也报错呢
回复 使用道具 举报
有木有大神前来相助啊。。
回复 使用道具 举报
猪油炒鸡蛋 来自手机 中级黑马 2015-5-18 14:10:13
报纸
然而半个小时过去了:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(
回复 使用道具 举报
....

不能那么调用啊
class Outer{

         static class Inner{
         
                 public void method(){
                         System.out.println("HelloWorld");
                 }
         }
         static class Inner2{
         
                 public static void method(){
                         System.out.println("12345");
                 }
         }

}
  这是两个函数 怎么调用去掉前面的outer
回复 使用道具 举报
mmakun 中级黑马 2015-5-18 14:22:33
7#
没有什么问题啊
回复 使用道具 举报
xgd6612 发表于 2015-5-18 14:14
....

不能那么调用啊

调用没问题啊,第5行和第四行都没问题。我就是问为什么两种调用方法不一样
回复 使用道具 举报
Demo3_Innerclass:Outer.Inner oi = new Outer.Inner();
Test1: Outer.Inner oi = new Outer().new Inner();  

这两个类的调用方法为什么不能一样呢
回复 使用道具 举报
你不是问错误吗?
回复 使用道具 举报
我去 我终于明白你在说什么了 ,刚才在打lol 不好意思啊
这个调用是因为 你这两个函数里面 有一个有static 修饰 有一个没有 static修饰 视频里面我记得有讲的   第六天第一个视频 static关键字的视频 我刚去给你找出来~~~
被 static  修饰的可以直接被类名调用 所以不用加()
回复 使用道具 举报
猪油炒鸡蛋 发表于 2015-5-18 14:27
Demo3_Innerclass:Outer.Inner oi = new Outer.Inner();
Test1: Outer.Inner oi = new Outer().new Inner( ...

老夫回复 了~~~顺便水一下 嘿嘿 ~~
回复 使用道具 举报
xgd6612 发表于 2015-5-18 14:53
我去 我终于明白你在说什么了 ,刚才在打lol 不好意思啊
这个调用是因为 你这两个函数里面 有一个有static ...

你在上基础班还是就业班啊  还有时间玩游戏啊。。
回复 使用道具 举报
差不多懂了
回复 使用道具 举报
额  我大四 在自学~~~ 学得差不多了  下个月去面试。本来想这个月面试的 但是 我的毕业答辩在6.24号,只能报名7.11号的班 ,我问了下 老师 他们说如果5月面试 到时候要在面试一次 说中间隔的时间太长 所以我在等6月面试~~
回复 使用道具 举报
xgd6612 发表于 2015-5-18 15:08
额  我大四 在自学~~~ 学得差不多了  下个月去面试。本来想这个月面试的 但是 我的毕业答辩在6.24号,只能 ...

6月29也有一个安卓班的,我准备报6月14号的
回复 使用道具 举报
仁兄 你是不是想简单了~~~   你的技术分还不够10 ~....博客都木有写吧,我本来是要报6.29的  但是我还有个同学~~~刚才在你另一个帖子里回复的 志行~~  我准备和他一起所以准备报7.11号     等都通过了  技术分25分才可以入学~
回复 使用道具 举报
xgd6612 发表于 2015-5-18 15:48
仁兄 你是不是想简单了~~~   你的技术分还不够10 ~....博客都木有写吧,我本来是要报6.29的  但是我还有个 ...

我先付费、、
回复 使用道具 举报

好吧  土豪就是不一样~~

点评

。。。。不想麻烦而已,而且早晚不得交啊  发表于 2015-5-19 10:02
回复 使用道具 举报
我这运行你的代码,没有报错啊

没报错.jpg (103.41 KB, 下载次数: 22)

没报错.jpg
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马