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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 臧雪健 黑马帝   /  2011-7-27 18:21  /  1789 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

参数的传:
class A12{
        static A12 zz=new A12();
        static A12 h(){return zz;}
       
        private String a ="外部";
       
        void h1()  {new B12().han1();}
       
        class B12{
        void han1(){System.out.print("bbbbb");}
       
        B12(){System.out.print("1"+a); }
        void han2(){ System.out.print("haichu");}
        }
       
        public static void main(String [] args ){
        new A12().h1();  
        System.out.println();
        System.out.print(A12.h());        }}

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

1 个回复

倒序浏览
黑马网友  发表于 2011-7-27 18:21:29
沙发
1.找到main方法,程序入口,开始执行
2.执行new A12().h1();
   2.1.由于创建了对象A12,执行A12的构造方法即:默认构造方法 A12();
   2.2.由创建的对象A12调用自身的方法h1();
   2.3.执行void h1()  {new B12().han1();}
         2.3.1. 创建B12对象,调用B12的构造方法即:B12(){System.out.print("1"+a); }
         2.3.2. B12的构造方法打印出"1"+a 由于a="外部",所以打印出  “1外部”
         2.3.3. 然后紧接着执行对象B12的方法void han1(){System.out.print("bbbbb");}
         2.3.4. 执行了han1()后,打印结果变成了  “1外部”+"bbbbb" = “1外部bbbbb"
3.接下来执行System.out.println();  换行
4.接下来执行System.out.print(A12.h());
   4.1. 直接由类名A12调用A12的方法h();
   4.2. 执行 static A12 h(){return zz;}  因为static A12 zz=new A12();所以打印出new A12();
   4.3. new A12()对象会直接打印该对象在创建过程中内存中的首地址。如A12@c17164

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

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