• <i id='5uzUl'><tr id='5uzUl'><dt id='5uzUl'><q id='5uzUl'><span id='5uzUl'><b id='5uzUl'><form id='5uzUl'><ins id='5uzUl'></ins><ul id='5uzUl'></ul><sub id='5uzUl'></sub></form><legend id='5uzUl'></legend><bdo id='5uzUl'><pre id='5uzUl'><center id='5uzUl'></center></pre></bdo></b><th id='5uzUl'></th></span></q></dt></tr></i><div id='5uzUl'><tfoot id='5uzUl'></tfoot><dl id='5uzUl'><fieldset id='5uzUl'></fieldset></dl></div>

    <small id='5uzUl'></small><noframes id='5uzUl'>

  • <legend id='5uzUl'><style id='5uzUl'><dir id='5uzUl'><q id='5uzUl'></q></dir></style></legend>

    <tfoot id='5uzUl'></tfoot>

        • <bdo id='5uzUl'></bdo><ul id='5uzUl'></ul>

        java static块和构造函数的实例详解

        时间:2023-12-11
        <legend id='0URR5'><style id='0URR5'><dir id='0URR5'><q id='0URR5'></q></dir></style></legend>
          <tbody id='0URR5'></tbody>
      1. <small id='0URR5'></small><noframes id='0URR5'>

          • <bdo id='0URR5'></bdo><ul id='0URR5'></ul>

            1. <tfoot id='0URR5'></tfoot>
              <i id='0URR5'><tr id='0URR5'><dt id='0URR5'><q id='0URR5'><span id='0URR5'><b id='0URR5'><form id='0URR5'><ins id='0URR5'></ins><ul id='0URR5'></ul><sub id='0URR5'></sub></form><legend id='0URR5'></legend><bdo id='0URR5'><pre id='0URR5'><center id='0URR5'></center></pre></bdo></b><th id='0URR5'></th></span></q></dt></tr></i><div id='0URR5'><tfoot id='0URR5'></tfoot><dl id='0URR5'><fieldset id='0URR5'></fieldset></dl></div>

                • Java中的static块和构造函数都是用来初始化类的成员变量的,但两者有着不同的特点和应用场景。下面详细讲解static块和构造函数的用法及其区别。

                  一、static块

                  1.1 定义

                  在Java中,static块是一个静态代码块,用来初始化静态成员变量。在类加载时,如果类中有static块,则首先会执行static块,然后才会执行其他代码块和构造函数。

                  1.2 语法

                  格式如下:

                  static{
                      // 初始化代码
                  }
                  

                  1.3 示例

                  下面例子中, static块用于初始化静态成员变量count:

                  public class StaticBlockDemo {
                      static int count;
                      static {
                          count = 0;
                          System.out.println("执行了静态块");
                      }
                      public StaticBlockDemo() {
                          count++;
                          System.out.println("执行了构造函数");
                      }
                      public static void main(String[] args) {
                          System.out.println("count=" + StaticBlockDemo.count);
                          StaticBlockDemo s1 = new StaticBlockDemo();
                          System.out.println("count=" + StaticBlockDemo.count);
                          StaticBlockDemo s2 = new StaticBlockDemo();
                          System.out.println("count=" + StaticBlockDemo.count);
                      }
                  }
                  

                  输出结果为:

                  执行了静态块
                  count=0
                  执行了构造函数
                  count=1
                  执行了构造函数
                  count=2
                  

                  在类被加载时,先执行静态块中的初始化代码,然后执行main函数中的代码,最后执行构造函数。初始化代码中将count初始化为0,在构造函数中每次都会将count加1。因此,在执行构造函数时,count值分别为1和2。

                  二、构造函数

                  2.1 定义

                  构造函数是一种特殊的方法,用来初始化类的对象。在创建类的对象时,会自动地调用构造函数,并传入相应的参数。

                  2.2 语法

                  格式如下:

                  public class ClassName{
                      public ClassName(){
                          // 初始化代码
                      }
                  }
                  

                  2.3 示例

                  下面例子中,构造函数用于初始化对象的属性:

                  public class ConstructorDemo {
                      String name;
                      int age;
                      public ConstructorDemo(String name, int age) {
                          this.name = name;
                          this.age = age;
                      }
                      public void show() {
                          System.out.println("姓名:" + name + ",年龄:" + age);
                      }
                      public static void main(String[] args) {
                          ConstructorDemo c = new ConstructorDemo("张三", 20);
                          c.show();
                      }
                  }
                  

                  输出结果为:

                  姓名:张三,年龄:20
                  

                  在创建ConstructorDemo对象时,会调用构造函数进行初始化。构造函数将传入的name和age赋值给对象的属性name和age,然后调用show方法输出属性值。

                  三、static块和构造函数的区别

                  static块和构造函数都可以用来初始化类的成员变量,但它们有以下区别:

                  1. 执行顺序不同:类加载时,static块最先执行,而构造函数在对象创建时被调用;
                  2. 初始化的对象不同:static块用于初始化静态成员变量,而构造函数用于初始化普通成员变量;
                  3. 类中可以有多个构造函数,但只能有一个静态块,而且它通常只用于静态变量的初始化。

                  因此,在使用时需要根据需要进行选择。

                  上一篇:在Java编程中定义方法 下一篇:java8 Math新增方法介绍

                  相关文章

                • <legend id='U8eiU'><style id='U8eiU'><dir id='U8eiU'><q id='U8eiU'></q></dir></style></legend>

                  <i id='U8eiU'><tr id='U8eiU'><dt id='U8eiU'><q id='U8eiU'><span id='U8eiU'><b id='U8eiU'><form id='U8eiU'><ins id='U8eiU'></ins><ul id='U8eiU'></ul><sub id='U8eiU'></sub></form><legend id='U8eiU'></legend><bdo id='U8eiU'><pre id='U8eiU'><center id='U8eiU'></center></pre></bdo></b><th id='U8eiU'></th></span></q></dt></tr></i><div id='U8eiU'><tfoot id='U8eiU'></tfoot><dl id='U8eiU'><fieldset id='U8eiU'></fieldset></dl></div>
                • <tfoot id='U8eiU'></tfoot>

                • <small id='U8eiU'></small><noframes id='U8eiU'>

                        <bdo id='U8eiU'></bdo><ul id='U8eiU'></ul>