Java コンストラクターとは何ですか?コンストラクターの使い方は?

王林
リリース: 2019-08-30 10:14:31
転載
2657 人が閲覧しました

1. コンストラクター メソッドの使用方法

クラスを通じてオブジェクトを作成するこのプロセスはインスタンス化と呼ばれます。インスタンス化は、コンストラクター (コンストラクターとも呼ばれます) を呼び出すことによって実現されます。

1.1. コンストラクター メソッドとは

メソッド名はクラス名と同じです (大文字と小文字を含む)
戻り値の型はありません
オブジェクトをインスタンス化する場合、コンストラクターを呼び出す必要があります

public class Hero {
 
    String name; 
    float hp; 
    float armor; 
    int moveSpeed; 
    // 方法名和类名一样(包括大小写)
    // 没有返回类型
    public Hero() {
        System.out.println("实例化一个对象的时候,必然调用构造方法");
    }     
    public static void main(String[] args) {        //实例化一个对象的时候,必然调用构造方法
        Hero h = new Hero();
    }
}
ログイン後にコピー

1.2. 暗黙的コンストラクター

Hero クラスのコンストラクターは

public Hero(){ 
}
ログイン後にコピー

このパラメーターなしのコンストラクターです書かない場合はデフォルトで提供されます

public class Hero {
     
    String name; //姓名
     
    float hp; //血量
     
    float armor; //护甲
     
    int moveSpeed; //移动速度
     
    //这个无参的构造方法,如果不写,
    //就会默认提供一个无参的构造方法
    //  public Hero(){ 
    //      System.out.println("调用Hero的构造方法");
    //  }
 
    public static void main(String[] args) {
        Hero garen =  new Hero();
        garen.name = "盖伦";
        garen.hp = 616.28f;
        garen.armor = 27.536f;
        garen.moveSpeed = 350;
         
        Hero teemo =  new Hero();
        teemo.name = "提莫";
        teemo.hp = 383f;
        teemo.armor = 14f;
        teemo.moveSpeed = 330;
    }  
     
}
ログイン後にコピー

1.3 パラメータ付きコンストラクタが提供される場合

パラメータ付きコンストラクタが提供されると
At同時に、パラメータなしのコンストラクタを明示的に提供することはありません。
その後、デフォルトのパラメータなしコンストラクタは "no"

public class Hero {
      
    String name; //姓名
      
    float hp; //血量
      
    float armor; //护甲
      
    int moveSpeed; //移动速度
      
    //有参的构造方法
    //默认的无参的构造方法就失效了
    public Hero(String heroname){ 
        name = heroname;
    }      
    public static void main(String[] args) {
        Hero garen =  new Hero("盖伦"); 
          
        Hero teemo =  new Hero(); //无参的构造方法“木有了”
    }  
      
}
ログイン後にコピー

1.4. コンストラクタのオーバーロード

通常のメソッドと同様、構築メソッドはオーバーロードすることもできます

 public class Hero {
           
        String name; //姓名
           
        float hp; //血量
           
        float armor; //护甲
           
        int moveSpeed; //移动速度
           
        //带一个参数的构造方法
        public Hero(String heroname){ 
            name = heroname;
        }         
        //带两个参数的构造方法
        public Hero(String heroname,float herohp){ 
            name = heroname;
            hp = herohp;
        }           
        public static void main(String[] args) {
            Hero garen =  new Hero("盖伦"); 
            Hero teemo =  new Hero("提莫",383);
        }
         
    }
ログイン後にコピー

演習: 構築メソッド

(Hero の 4 つのパラメータを使用して構築メソッドを設計します。
これらの 4 つのパラメータは次のとおりです
String heroName
float heroHP
float heroArmor
int heroMoveSpeed)

答え:

public class Hero {
        
    String name; //姓名
        
    float hp; //血量
        
    float armor; //护甲
        
    int moveSpeed; //移动速度
        
    //带一个参数的构造方法
    public Hero(String heroname){ 
        name = heroname;
    }      
    //带两个参数的构造方法
    public Hero(String heroname,float herohp){ 
        name = heroname;
        hp = herohp;
    }    public Hero(String heroName,float heroHP,float heroArmor,int heroMoveSpeed){ 
        name = heroName;
        hp = heroHP;
        armor = heroArmor;
        moveSpeed=heroMoveSpeed;
    }     
    public static void main(String[] args) {
        Hero garen =  new Hero("盖伦"); 
        Hero teemo =  new Hero("提莫",383);
        Hero db =  new Hero("死哥",400,27,360);
    }
      
}
ログイン後にコピー

関連コンテンツをさらに詳しく知りたい場合は、PHP 中国語 Web サイトにアクセスしてください: JAVA ビデオ チュートリアル
#

以上がJava コンストラクターとは何ですか?コンストラクターの使い方は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!