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 }
  • 相关阅读:
    生成流畅文本方法
    KNNImputer:一种可靠的缺失值插补方法
    SparseNN中的优化
    基于TorchText的PyTorch文本分类
    蒙特卡洛方法分析Web页面浏览量
    D. Segment Intersections 模拟
    B. Array Walk
    线性基 P3857 [TJOI2008]彩灯
    线性基 P4570 [BJWC2011]元素
    线性基的学习+总结
  • 原文地址:https://www.cnblogs.com/wyppaa/p/11700338.html
Copyright © 2011-2022 走看看