注册 登录
编程论坛 J2EE论坛

个位看看为什么结果会是这样呢?

Heart→M鹏 发布于 2011-10-05 14:31, 676 次点击
程序代码:
/**

 *@veision 2011-10-5 14:24:50

 *
@author Heart

 
*/
class InnerClassTest {
        public static void main(String[] args) {
                Outer outer = new Outer();
                outer.test();
        }
}

 class Outer {
        private int i = 10;
        private int y = 8;

        Outer() {
                System.out.println("调用Outer构造方法:outer");
        }

        public void sayMsg() {
                System.out.println("Outer class!");
        }

        class Inner {
                int i = 1000;

                Inner() {
                        System.out.println("调用Inner构造方法:inner");
                }

                void innerMsg() {
                        System.out.println(">>>>>Inner class!");
                        sayMsg();
                        //访问内部类自己的成员i,也可以写成 this.i++
                        this.i++;
                        //访问外部类的成员 i和y
                        Outer.this.i++;
                        y--;
                }

                int getI() {
                        return i;
                }
        }

        public void test() {
                Inner in = new Inner();
                in.innerMsg();
        }

        public int getI() {
                return i;
        }

        public void setI(int i) {
                this.i = i;
        }
}
结果:
    调用Outer构造方法:outer
    调用Inner构造方法:inner
    >>>>>Inner class!
    Outer class!
3 回复
#2
2011-10-05 15:18
有什么不对吗?
#3
xmlz2011-10-06 09:44
Outer outer = new Outer();    //调用Outer的构造函数,输出调用Outer构造方法:outer
outer.test();
—— public void test() {
                Inner in = new Inner();              //调用Outer的构造函数,输出: 调用Inner构造方法:inner
                in.innerMsg();                       
        }

—— void innerMsg() {
      System.out.println(">>>>>Inner class!");       //输出:    >>>>>Inner class!
      sayMsg();                                    

——public void sayMsg() {
                System.out.println("Outer class!");  //输出:    Outer class!
        }
#4
udjhrt2012-02-04 14:49
就是这样啊
1