| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 676 人关注过本帖
标题:个位看看为什么结果会是这样呢?
只看楼主 加入收藏
Heart→M鹏
Rank: 2
等 级:论坛游民
帖 子:80
专家分:94
注 册:2011-5-13
结帖率:83.33%
收藏
已结贴  问题点数:0 回复次数:3 
个位看看为什么结果会是这样呢?
程序代码:
/**

 *@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!
2011-10-05 14:31
付政委
该用户已被删除
收藏
得分:5 
提示: 作者被禁止或删除 内容自动屏蔽
2011-10-05 15:18
xmlz
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:294
专家分:1392
注 册:2010-8-29
收藏
得分:0 
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!
        }
2011-10-06 09:44
udjhrt
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-2-4
收藏
得分:0 
就是这样啊

风行天下,唯我独尊!
2012-02-04 14:49
快速回复:个位看看为什么结果会是这样呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012327 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved