• java_字段初始化的规律、静态方法中访问类的实例成员、查询创建对象的个数


    字段初始化规律:

    当执行如下代码时

     1 class InitializeBlockClass{
     2     
     3     public int field=100;
     4      { field=200; } 
     5     public InitializeBlockClass(int value) {
     6         this.field=value;
     7     }
     8     public InitializeBlockClass(){
     9         
    10     }
    11       { field=150; }
    12 }
    13 
    14 
    15 
    16 public class Work {
    17     public static void main(String[] args) {
    18         InitializeBlockClass obj=new InitializeBlockClass();
    19         System.out.println(obj.field);
    20         obj=new InitializeBlockClass(300);
    21         System.out.println(obj.field);
    22     }
    23 
    24 }

    执行结果如下

    当执行空构造方法不赋值时,会按照代码的先后顺序依次进行赋值,最后结果为最后赋的值;当执行有参数的构造函数时,会直接赋值为传递的参数。

    当代码中存在静态程序初始化块时,会执行在前面的静态初始化块,且只执行一次。

    静态方法中访问类的实例成员:

    静态方法中没有进行对象的实例化,需要调用时,在静态方法中进行类的实例化就可以了。

     1 public class Work {
     2     public static void main(String[] args) {
     3         shuju.get();
     4     }//end main
     5 
     6 }//end Work
     7 class shuju{
     8     public int value=100;
     9     public static int value1=120;
    10     public static void get() {
    11         shuju s=new shuju();
    12         System.out.println("实例对象:"+s.value);
    13         System.out.println("静态对象:"+value1);
    14         
    15     }//end get
    16 }//end shuju

     查询创建对象的个数:

    在类中创建一个静态变量num,每执行一次构造函数就进行num++的操作,最后num即为创建对象的数量。

     1 public class Work {
     2     public static void main(String[] args) {
     3         jishu j_1=new jishu();
     4         jishu j_2=new jishu();
     5         jishu j_3=new jishu();
     6         jishu j_4=new jishu();
     7         jishu j_5=new jishu();
     8         j_1.getnum();
     9     }
    10 }
    11 class jishu{
    12     static int num=0;
    13      jishu() {
    14         num++;
    15     }
    16      public void getnum() {
    17          System.out.println("创建类的数量为:"+num);
    18      }
    19 }
  • 相关阅读:
    最全的CSS浏览器兼容问题整理
    游戏设计源概念——学习
    如何将数据从 Excel 导入到 SQL Server
    IE8网页显示不正常 用”兼容性视图”搞定
    Lua概念定义及相关资料
    谈谈主策划需要的能力
    微博营销实战经验总结
    创业公司CEO每天应该做的13件事
    2011营销往哪一个风向吹
    [转]网店博客营销之微博实战技巧:还没有做微博的掌柜看过来
  • 原文地址:https://www.cnblogs.com/wyppaa/p/11700338.html
Copyright © 2020-2023  润新知