首页 > 其他分享 >构造方法

构造方法

时间:2022-11-10 11:34:44浏览次数:32  
标签:String 构造方法 Dog dog public name

构造方法的作用

      1. 创建对象

示例代码

package com.powernode.oo;

public class Dog {
    // 不提供任何方法
}

测试代码

package com.powernode.oo;

public class DogTest {
    public static void main(String[] args) {
        // 创建一个小狗对象
        new Dog();
    }
}

运行结果

      运行成功,说明Cat类里面有一个方法,但是我们看不到,而它又的确存在。说明系统在这里提供了一个默认的方法,它就是构造方法

定义构造方法的语法格式

      [修饰符列表] 构造方法名(形式参数列表){
                  构造方法体;

      }

注意
      1.1构造方法名必须和类名保持一致
      1.2构造方法没有返回值,不需要写void


      2. 给属性赋值

          2.1 不使用构造方法

                  示例代码

package com.powernode.oo;

public class Dog {
    /**
     * 名字
     */
    String name;
    /**
     * 年龄
     */
    int age;
    /**
     * 颜色
     */
    String color;
}

测试代码

package com.powernode.oo;

public class DogTest {
    public static void main(String[] args) {
        /*
         * 创建一个小狗对象,并初始化属性
         */
        Dog dog = new Dog();
        dog.name = "spike";
        dog.age = 3;
        dog.color = "白色";

        System.out.println(dog.name);
        System.out.println(dog.age);
        System.out.println(dog.color);
    }
}

测试结果

          2.2 使用构造方法

                  示例代码

package com.powernode.oo;

public class Dog {
    /**
     * 名字
     */
    String name;
    /**
     * 年龄
     */
    int age;
    /**
     * 颜色
     */
    String color;
    // 无参构造方法
    public Dog() {
    }
    // 有参构造方法
    public Dog(String name, int age, String color) {
        this.name = name;
        this.age = age;
        this.color = color;
    }
}
package com.powernode.oo;

public class DogTest {
    public static void main(String[] args) {
        /*
         * 创建一个小狗对象,同时给属性赋值
         */
        Dog dog = new Dog("spike", 3, "白色");

        System.out.println(dog.name);
        System.out.println(dog.age);
        System.out.println(dog.color);
    }
}

测试结果

对比以上两个实现属性初始化的方法来看,不免能看出,使用了构造方法的方式比不使用构造方法的方法代码更加简洁,以及初始化属性更加便利。

标签:String,构造方法,Dog,dog,public,name
From: https://www.cnblogs.com/bcc0729/p/16875435.html

相关文章