什么是构造方法?

构造方法

概述

构造方法: 也叫做构造器 构造函数 ,本质就是一个特殊的方法.

特点

1. 构造⽅法的⽅法名和类名⼀致(包括⼤⼩写)
2. 构造⽅法没有返回值类型(连void都没有)
3. 构造⽅法可以重载
4. 构造⽅法不可以⼿动调⽤,只能在创建对象的时,jvm⾃动调⽤
5. 构造⽅法在创建对象时只能调⽤⼀次

作用

1. 可以为属性进行赋值
2. 用于创建对象  ---> 角色类似于 人出生时候的脐带 

注意事项

当⼀个类中,没有定义构造⽅法 系统会⾃动提供⼀个公开的 ⽆参的构造⽅法 当类中已经定义了构
造⽅法,系统不再提供⽆参公开构造,如果需要使⽤⽆参的构造 那么必须⾃⼰定义出来 ⼀般开发如果
定义了有参的构造 都会再定义⼀个⽆参的构造

案例

public class Demo1 {
    public static void main(String[] args) {
        // 创建一个人类的对象
        // Person p = new Person();// 在创建对象的时候 构造方法就被调用了
//        Person p = new Person("刘能",47);
//        // 构造方法的角色 
//        //调用成员方法
//        //p.eat();
//
//        Person p2 = new Person();

//        Person p1 = new Person();// 名字是默认值 null  age 也是默认值  0
//
//        System.out.println(p1.name);
//        System.out.println(p1.age);
//
//        //后天进行 名字 和年龄的赋值
//        p1.name = "李程";
//        p1.age = 13;

            Person p2 = new Person("刘能",1);
            System.out.println(p2.name);
            System.out.println(p2.age);
    }
}

//定义一个Person类
class Person{

    // 定义一个构造方法
    // 方法名 :  Person  返回值类型: 没有类型 连void都没有  形式参数列表: 和 普通的方法一样
    // 定义一个无参数的构造方法
    public Person(){
        System.out.println("我是一个无参数的构造方法");

    }

    // 定义一个有参数的构造方法
    public  Person(String n,int a){
        // 赋值
        name = n;
        age = a;
        System.out.println("我是一个有参数的构造方法");
    }

    //属性
    String name;
    int age;
    //行为
    public  void eat(){
        System.out.println("人吃饭");
    }
}


//案例2: 关于系统为类提供无参数的构造方法
package com.ujiuye.day08;

public class Demo1 {
    public static void main(String[] args) {
            // 创建一个对象
        Person p1 = new Person();
    }
}

//定义一个Person类
class Person{

    // 定义一个构造方法
    // 方法名 :  Person  返回值类型: 没有类型 连void都没有  形式参数列表: 和 普通的方法一样
    // 定义一个无参数的构造方法
    public Person(){
        System.out.println("我是一个无参数的构造方法");

    }
//
//    // 定义一个有参数的构造方法
    public  Person(String n,int a){
        // 赋值
        name = n;
        age = a;
        System.out.println("我是一个有参数的构造方法");
    }

    //属性
    String name;
    int age;
    //行为
    public  void eat(){
        System.out.println("人吃饭");
    }


}

posted @ 2021-04-11 23:18  泰初  阅读(2130)  评论(0编辑  收藏  举报