黑马程序员技术交流社区

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

作者: xuqangxing    时间: 2013-5-26 17:15
标题: 内部类
本帖最后由 xuqangxing 于 2013-5-26 22:26 编辑

class Outer
{
        int x=3;
        void method(final int a)
        {
                final int y=4;
                class Inner
                {
                        void function()
                        {
                                System.out.println(y);
                                System.out.println(x);
                                
                        }
                }
                new Inner().function();
        }
}
public class  InnerClassDemo
{
        public static void main(String[] args)
        {
                Outer out = new Outer();
                out.method(7);
                out.method(8);
        }

}
输出结果为:
4
3
4
3
如果在function()中加上一行代码System.out.println(a)
void function()
                        {
                                System.out.println(y);
                                System.out.println(x);
                                System.out.println(a);
                        }
输出结果为:
4
3
7
8
疑问:为什么输出结果不是
4
3
7
4
3
8
???????
作者: 张旺达    时间: 2013-5-26 18:18
额,,你确定不是437438么? 为什么我运行了一下 是后者。。。{:soso_e197:}
作者: 张旺达    时间: 2013-5-26 18:20
  1. class Outer
  2. {
  3.         int x=3;
  4.         void method(final int a)
  5.         {
  6.                 final int y=4;
  7.                 class Inner
  8.                 {
  9.                         void function()
  10.                         {
  11.                                 System.out.println(y);
  12.                                 System.out.println(x);
  13.                                 System.out.println(a);
  14.                         }
  15.                 }
  16.                 new Inner().function();
  17.         }
  18. }
  19. public class  InnerClassDemo
  20. {
  21.         public static void main(String[] args)
  22.         {
  23.                 Outer out = new Outer();
  24.                 out.method(7);
  25.                 out.method(8);
  26.         }
  27. }
复制代码
是这样的不。。
作者: 秦久启    时间: 2013-5-26 19:26
我运行也是后者。你自己再运行一下看看
作者: xuqangxing    时间: 2013-5-26 22:26
秦久启 发表于 2013-5-26 19:26
我运行也是后者。你自己再运行一下看看

晕  我先前运行了好多次都是4378   刚运行结果是437438         谢谢你哦  
作者: xuqangxing    时间: 2013-5-26 22:26
张旺达 发表于 2013-5-26 18:18
额,,你确定不是437438么? 为什么我运行了一下 是后者。。。

晕  我先前运行了好多次都是4378   刚运行结果是437438         谢谢你哦
作者: 张旺达    时间: 2013-5-26 22:35
xuqangxing 发表于 2013-5-26 22:26
晕  我先前运行了好多次都是4378   刚运行结果是437438         谢谢你哦

{:soso_e113:}{:soso_e181:}
作者: 秦久启    时间: 2013-5-26 23:01
xuqangxing 发表于 2013-5-26 22:26
晕  我先前运行了好多次都是4378   刚运行结果是437438         谢谢你哦

:lol:handshake




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