Home

韧桂

思考,总结

类的成分之三构造器

package six_one;
/**
 * 一、类的第三个成员:构造器(constructor)
 * 构造器的作用:①创建对象 ②给创建的对象的属性赋值
 *
 * 1.设计类时,若不显式声明类的构造器的话,程序会默认提供一个空参的构造器
 * 2.一旦显式的定义类的构造器,那么默认的构造器就不再提供。
 * 3.如何声明类的构造器。格式:权限修饰符 类名(){ }
 * 4.类的多个构造器之间构成重载。
 *
 * 二、类对象的属性赋值的先后顺序:①属性的默认初始化②属性的显式初始化 ③通过构造器给属性初始化
 *                          ④通过"对象.方法" 的方式给属性赋值
 */
public class TestConstructor {
    public static void main(String[] args) {
        Person1 p1 = new Person1();//Person1()就是一个构造器
        System.out.println(p1.getName() + ":" + p1.getAge());
        String str = new String("moistlin.cn");//别人的构造器
        System.out.println(str);

        Person1 p2 = new Person1("唐三");
        System.out.println(p2.getName());
        System.out.println(p2.getAge());

        Person1 p3 = new Person1("小舞",14);
        System.out.println("name:" + p3.getName() + " age:" + p3.getAge());

        //体会属性赋值的过程
        Person1 p4 = new Person1();
        System.out.println("name:" + p4.getName() + " age:" + p4.getAge());

        Person1 p5 = new Person1(23);
        System.out.println("name:" + p5.getName() + " age:" + p5.getAge());

    }
}

class Person1{
    //属性
    private String name;
    private int age = 1;

    //构造器
    public Person1(String n){
        name = n;
    }
    public Person1(){
//        age = 11;
//        name = "小三";
    }
    public Person1(int a){
        age = a;
    }
    public Person1(String n,int a){
        name = n;
        age = a;
    }

    //方法
    public void setName(String n){
        name = n;
    }
    public void setAge(int a){
        age = a;
    }
    public String getName(){
        return name;
    }
    public int getAge(){
        return age;
    }
}

韧桂 2019-12-24