zoukankan      html  css  js  c++  java
  • 构造方法及方法(重载)与this关键字的使用

    一:构造方法的概念:

                构造方法是一种特殊的方法,它是一个与类同名的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。

    二:构造方法的特殊性(反映在以下几个方面):

          1.构造方法作用:
             (1)构造出来一个类的实例
             (2)对构造出来个一个类的实例(对象)初始化。
          2.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。
          3.主要完成对象的初始化工作,构造方法的调用是在创建一个对象时使用new操作进行的。
          4.类中必定有构造方法,若不写,系统自动添加无参构造方法。接口不允许被实例化,所以接口中没有构造方法。
          5.不能被static、final、synchronized、abstract和native修饰。
          6.构造方法在初始化对象时自动执行,一般不能显式地直接调用.当同一个类存在多个构造方法时,java编译系统会自动按照初始化时最后面括号的参数个数以及参数类型来自动一一对应。完成构造函数的调用。
          7.构造方法分为两种:无参构造方法 有参构造方法
                   构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。
     
    【代码示例01】

     【代码示例02】

     1 class Penguin {
     2     // 属性
     3     /* 无参构造方法 */
     4     public Penguin() {
     5            name = "qq";
     6            love = 20;
     7            sex = "Q仔";
     8            System.out.println("执行构造方法");
     9     }
    10 }

    三:构造方法的特点:

          1:方法名与类名相同

          2:无返回值类型

          3:可以被重载

          4:不能被继承

          5:不能被重写

          6:主要作用为: 用于对象的创建(new)

    注意:

              (1)调用时机:类new时被自动调用

              (2)作用:在类初始化的时候进行赋值

    四:构造方法的重载

             

    【代码示例】

    //无参构造
    public Penguin () {
            name = "qq";
            love = 20;
            sex = "Q仔";
    }
    
    调用方法: Penguin pgn = new Penguin();
    
    //=============================================
    
    //有参构造
    public Penguin (String name,int health,int love,String sex ) {
            this.name = name;
            this.health = health;
            this.love = love;
            this.sex = sex;
    }
    
    调用方法: Penguin pgn = new Penguin("美美", 80, 20, "Q仔");
    
    //==============================================
    //重载方法
    public Penguin (String name,int health,String strain ) {
            this.name = name;
            this.health = health;
            this.strain = strain;
    }
    
    调用方法:Penguin pgn = new Penguin("美美", 60,  "拉布拉多");

        1:方法重载的特殊性:

             (1):方法名相同         (两个及两个以上方法名相同)

             (2):参数项不同         (参数数据类型或个数不同)

             (3):与访问修饰符和返回值无关

             (4):用在同一个类里

        注意:构造方法与普通方法都可以形成重载

         2:方法重载的作用:

             (1):减少代码量,使代码更简洁明了

             (2):调用方便,提高代码的灵活性

    五:this关键字的用法:

         1:this的概念:this关键字 是对一个对象 的默认引用,这里用以区分同名成员变量

         2:this的使用

                 (1)调用属性                 eg:  this.health=100;     this.strain="拉布拉多";

                 (2)调用方法                 eg:   this.print();

                 (3)调用构造方法          eg:  this()【调用无参构造方法】     this("小黑",100,100,"公") 【调用有参构造方法】

                   注意:•(如果调用构造方法,必须是构造方法中的第一条语句,且只用在同一个类中)

                              •(在子类中,既可以调用本类的属性和方法,也可以调用父类的属性和方法)

  • 相关阅读:
    HDU
    P2458 [SDOI2006]保安站岗[树形dp]
    POJ 2155 Matrix[树状数组+差分]
    P1281 书的复制[二分]
    【清北学堂】广州OI学习游记
    P1736 创意吃鱼法[二维dp]
    P2161 [SHOI2009]会场预约[线段树/树状数组+二分/STL]
    P1972 [SDOI2009]HH的项链[离线+树状数组/主席树/分块/模拟]
    P1273 有线电视网[分组背包+树形dp]
    windows下安装MySQL
  • 原文地址:https://www.cnblogs.com/liangbaolong/p/12758023.html
Copyright © 2011-2022 走看看