コンストラクタの効果の違い、およびコンストラクタセット、getメソッド

まず、コンストラクタの定義と役割?

  • クラス名のメソッドは、同じ名前にする必要があり、コンストラクタは型宣言を返しません。
  • それは自動的にコンストラクタを呼び出しますときにオブジェクトをインスタンス化する新しいキーワードを使用します。
  • Java言語、クラスごとに少なくともデフォルトコンストラクタ。表示方法を定義する構成と、システムはデフォルトのコンストラクタを提供しません。
public class People {
    private String name;
    private int age;
    private String sex;
    
    //带参数的构造器
    public People(String name, int age, String sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;
    }
    
    public static void main(String[] args) {
        People people=new People("zhangsan",20,"男");
    }
}
コンストラクタの役割:メンバ変数を初期化するために使用されます。

新しい人々(「zhangsan」、20、「男性」)、人々はメソッドを呼び出します場合は、オブジェクトが初期化されます。

二、セットやメソッドの役割を取得します:

  • 私たちはメンバーを初期化するために、変数値コンストラクタを使用しているとき、あなたはそれを行うには、Zenmoを変数を変更したいですか?
  • あなたがオブジェクトに新しい再した場合、それはより多くのメモリで占められています。したがって、我々は、完了するまでにgetおよびsetメソッドを使用することができます。
public class People {
    private String name;
    private int age;
    private String sex;

    //带参数的构造器
    public People(String name, int age, String sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;
    }
    //get方法获取字段
    public int getAge() {
        return age;
    }
    //set方法修改字段
    public void setAge(int age) {
        this.age = age;
    }
    public static void main(String[] args) {
        People people=new People("zhangsan",20,"男");
        people.setAge(22);
        System.out.println(people.getAge());
        System.out.println(people.name);
        System.out.println(people.sex);
    }
}

  • あなたはクラスの外で使用したい場合は、修正民間のメンバーについては、だから何?
  • ニーズが私有財産を取得または変更する場合は、この時点で、あなたはgetter / setterメソッドを使用する必要があります。
public class Test {
    public static void main(String[] args) {
        People people=new People("zhangsan",20,"男");
        people.setAge(22);
        System.out.println(people.getAge());
    }
}

方法は設定と役割を取得:プロパティおよび取得を変更するために、簡単に、変更したコードの保守性を向上させるために、良いカプセル化を。

第三に、セットおよびコンストラクタメソッド、GETメソッドの違い:

コンストラクタ:オブジェクトを初期化するために使用。
セットには、メソッドを取得:メンバ変数を変更するために、再割り当て、私有財産を取得した上で。

公開された75元の記事 ウォン称賛14 ビュー1895

おすすめ

転載: blog.csdn.net/qq_45328505/article/details/104721511