• <small id='8ZTUR'></small><noframes id='8ZTUR'>

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

        • <bdo id='8ZTUR'></bdo><ul id='8ZTUR'></ul>
        <tfoot id='8ZTUR'></tfoot>

      1. Java构造函数的相互调用代码示例

        Java构造函数的相互调用,是指一个构造函数中调用了另一个构造函数,以达到代码复用和降低代码重复度的目的。在Java中,构造函数相互调用有两种方式:this和super。
        <legend id='f0CBM'><style id='f0CBM'><dir id='f0CBM'><q id='f0CBM'></q></dir></style></legend>
        1. <i id='f0CBM'><tr id='f0CBM'><dt id='f0CBM'><q id='f0CBM'><span id='f0CBM'><b id='f0CBM'><form id='f0CBM'><ins id='f0CBM'></ins><ul id='f0CBM'></ul><sub id='f0CBM'></sub></form><legend id='f0CBM'></legend><bdo id='f0CBM'><pre id='f0CBM'><center id='f0CBM'></center></pre></bdo></b><th id='f0CBM'></th></span></q></dt></tr></i><div id='f0CBM'><tfoot id='f0CBM'></tfoot><dl id='f0CBM'><fieldset id='f0CBM'></fieldset></dl></div>

          <tfoot id='f0CBM'></tfoot>

                  <tbody id='f0CBM'></tbody>
                  <bdo id='f0CBM'></bdo><ul id='f0CBM'></ul>
                • <small id='f0CBM'></small><noframes id='f0CBM'>

                  Java构造函数的相互调用,是指一个构造函数中调用了另一个构造函数,以达到代码复用和降低代码重复度的目的。在Java中,构造函数相互调用有两种方式:this和super。

                  使用this关键字调用另一个构造函数

                  使用this关键字调用另一个构造函数时,需要满足两个条件:

                  1. this关键字必须位于构造方法中的第一行;
                  2. 被调用的构造方法必须在当前构造方法之前定义。

                  下面是一个使用this调用另一个构造函数的示例代码:

                  public class Person {
                      private String name;
                      private int age;
                  
                      public Person() {
                          this("Unknown", 0);
                      }
                  
                      public Person(String name) {
                          this(name, 0);
                      }
                  
                      public Person(int age) {
                          this("Unknown", age);
                      }
                  
                      public Person(String name, int age) {
                          this.name = name;
                          this.age = age;
                      }
                  
                      public static void main(String[] args) {
                          Person person1 = new Person();
                          Person person2 = new Person("Tom");
                          Person person3 = new Person(18);
                          Person person4 = new Person("Tom", 18);
                      }
                  }
                  

                  解释一下上面的代码:

                  • Person类有四个构造函数,分别是无参、带一个字符串参数name、带一个整数参数age、带一个字符串参数name和一个整数参数age的构造函数;
                  • 无参构造函数调用带两个参数的构造函数,并传入默认值,即"Unknown"和0;
                  • 带一个字符串参数name的构造函数调用带两个参数的构造函数,并把age默认值设置为0;
                  • 带一个整数参数age的构造函数调用带两个参数的构造函数,并把name默认值设置为"Unknown";
                  • 带一个字符串参数name和一个整数参数age的构造函数直接初始化name和age。

                  这个示例代码的输出结果为:

                  Unknown 0
                  Tom 0
                  Unknown 18
                  Tom 18
                  

                  使用super关键字调用父类构造函数

                  使用super关键字调用父类构造函数时,需要满足以下条件:

                  1. super关键字必须位于构造方法的第一行;
                  2. 被调用的父类构造方法必须存在,并且参数列表必须与当前构造方法的参数列表相同或可以隐式转换。

                  下面是一个使用super调用父类构造函数的示例代码:

                  public class Student extends Person {
                      private String school;
                  
                      public Student(String school) {
                          super();
                          this.school = school;
                      }
                  
                      public Student(String name, int age, String school) {
                          super(name, age);
                          this.school = school;
                      }
                  
                      public static void main(String[] args) {
                          Student student1 = new Student("High School");
                          Student student2 = new Student("Tom", 16, "High School");
                      }
                  }
                  

                  解释一下上面的代码:

                  • Student类继承自Person类,具有相同的构造函数;
                  • 无参构造函数调用父类构造函数,并用默认值初始化school;
                  • 带三个参数的构造函数调用父类构造函数,并用相应参数初始化school。

                  这个示例代码的输出结果与前一个示例代码相同,不再赘述。

                  以上就是Java构造函数的相互调用的完整示例攻略。

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Lambda表达式是Java 8中引入的新特性之一,它是一个匿名函数,可以捕获参数并表现为一个代码块,而不像方法一样需要一个固定的名称。它主要用于传递行为或代码块以及事件处理等操作。
                  下面为您详细讲解基于Java的回调函数。
                  在Java中,equals()是用来比较两个对象是否相等的函数。equals()方法是Object类中的方法,因此所有Java类都包含equals()方法。在默认情况下,equals()方法比较对象的引用地址是否相同,即两个对象是否是同一个实例。但是,我们可以覆盖equals()方法,来定义自
                  JavaWeb是Java在Web领域的应用,是目前非常热门的技术之一。但是JavaWeb涉及到的技术非常广泛,初学者很容易迷失方向。本文总结了JavaWeb的基础知识,为初学者提供了一份学习笔记分享,希望能够帮助大家快速入门。
                  在Java编程中,字符串操作是很常见的,而替换字符串是其中常用的操作之一。Java提供了三种函数用于替换字符串:replace、replaceAll和replaceFirst。这篇文章将为您详细介绍它们的用法。
                  进制是数学中一种表示数值大小的方法,常见的进制有10进制、2进制、16进制等。
                  <legend id='wKH5N'><style id='wKH5N'><dir id='wKH5N'><q id='wKH5N'></q></dir></style></legend>

                    1. <small id='wKH5N'></small><noframes id='wKH5N'>

                    2. <tfoot id='wKH5N'></tfoot>

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