zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    Mvc+三层(批量添加、删除、修改)
    js中判断复选款是否选中
    EF的优缺点
    Git tricks: Unstaging files
    Using Git Submodules
    English Learning
    wix xslt for adding node
    The breakpoint will not currently be hit. No symbols have been loaded for this document."
    Use XSLT in wix
    mfc110ud.dll not found
  • 原文地址:https://www.cnblogs.com/wyppaa/p/11700338.html
Copyright © 2011-2022 走看看