20. Javaのオブジェクト指向 - コンストラクタ

まず、定義

コンストラクタ関数は、オブジェクトを作成する、またはプロパティは、オブジェクトに初期化されると同時にオブジェクトを作成し、重い負荷を構成するために、複数のコンストラクタを作成することです。何のクラスのコンストラクタが定義されていない場合、デフォルトコンストラクタのパラメータ空間。新しい人()。私たちは、ディスプレイの構造を定義すると、システムはデフォルトコンストラクタを提供していません。

構成定義フォーマット:Modifierクラス名(パラメータリスト)

1.ノーパラメータ

public class Person {
    String name;
    int age;
    public Person(){
        System.out.println("person()...");
    }
}


class PersonTest{
    public static void main(String[] args) {
        Person per = new Person();
        //person()...
    }
}

2.パラメータ

public class Person {
    String name;
    int age;
    public Person(String n){
        name = n;
        System.out.println("person_name is " + name);
    }
}


class PersonTest{
    public static void main(String[] args) {
        Person per = new Person("tom");
        //person_name is tom
    }
}

第二に、例

二つのクラス、TriangleTestとトライアングルを書きます。クラスは、底部および高にプライベート宣言、およびアクセスにパブリックメソッドを宣言しているトライアングル。加えて、必要な構成、三角形ベースのシークのテスト領域を提供します。

三角形

public class Triangle {
    private double base;
    private double height;

    //构造方法
    public Triangle() {

    }

    public Triangle(double b, double h) {
        base = b;
        height = h;
    }

    //私有属性公有化
    public void setBase(double b) {
        base = b;
    }

    public double getBase() {
        return base;
    }

    public void setHeight(double h) {
        height = h;
    }

    public double getHeight() {
        return height;
    }

    public double area(double b, double h) {
        return b * h / 2;
    }
}

TriangleTest

public class TriangleTest {
    public static void main(String[] args) {
        Triangle angle = new Triangle();
        double base = angle.getBase();
        double height = angle.getHeight();
        System.out.println("base is " + base + ", " + "height is " + height);

        Triangle angleTwo = new Triangle(10, 20);
        angleTwo.setHeight(100);
        // 500.0
        System.out.println("面积是" + angleTwo.area(angleTwo.getBase(), angleTwo.getHeight()));
    }
}

おすすめ

転載: www.cnblogs.com/hq82/p/12142327.html