构造方法/构造方法

1.基本语法:

[修饰符]方法名(形参列表){

                        方法体;

}

2.说明:

构造器的修饰符可以默认

构造器没有返回值

方法名和类名字必须一样

参数列表和成员方法一样的规则

构造器的调用系统完成

3.构造器

是类的一种特殊方法,它的主要作用是完成对新对象的初始化

public static void main(String[] args) {
        Person02 p1=new Person02("smith",80);
        System.out.println("p1的信息如下");
        System.out.println("p1的对象name="+p1.name);
        System.out.println("p1的对象name="+p1.age);
    }
}
//在创建人类对象时,就直接指定这个对象的年龄和姓名;
class Person02{
    String name;
    int age;
    //1.构造器没有返回值,不能写void;
    //2.构造器的方法名和Person02一样;
    //3.(String pName,int pAge)是构造器的形参列表,规则和方法名一样;
    public Person02(String pName,int pAge){
        System.out.println("构造器被调用");
        name=pName;
        age=pAge;
    }

构造器的使用细节

1.一个类可以定义多个不同的构造器,即构造器的重载;

比如:我们可以再给Person02类定义一个构造器,用来创建对象的时候,只指定人名,不需要指定年龄

2.构造器名和类名要相同

3.构造器没有返回值

4.构造器时完成对象的初始化,并不是创建对象

5.在创建对象时,系统自动调用该类的构造方法

 //p1.Person02这个是错误的,构造器完成对象的初始化,不是创建对象

6.如果没有定义构造器,系统会自动生成一个默认无参构造器(也叫默认构造器)

比如Person02(){},使用Javap指令反编译看一下

7.一旦定义了构造器,默认构造器就被覆盖了,就不能再使用默认构造器了

除非再显示的定义

 //此时默认构造器就已经被覆盖了,不能再用默认构造器了
    //除非是显示定义一下
    Person02(){
        
    }

流程分析

1.加载Person类中信息(Person.class),只会加载一次

2.在堆中分配空间(地址)

3.完成对象初始化[3,1默认初始化 age=0 name=null 3.2显示初始化

age=90,name =null,3.3构造器的初始化 age=20,name=小倩

4.在对象在堆中的地址,返回给p(p是对象名,也可以理解成对象的引用)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值