写在开头
构造方法,是一种特殊的方法。
主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。
特别的一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同来区分它们即构造函数的重载。
今天我们说一下Java:构造函数.
构造方法
定义:构造方法是一种特殊的方法,它是一个与类同名且返回值类型为同名类类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。又可以叫构造器 构造函数 constructor
作用:给成员变量进行赋值
定义方法:修饰符 构造方法名(参数列表){主要: 成员变量进行赋值}
说明
- 构造方法名: 必须与类名保持一致,严格区分大小写,符号都必须完全一样
- 构造方法没有返回值类型,连void都不写
- 参数列表,可以有参数,可以没有参数
- 构造方法中的内容 : 主要是给成员变量进行赋值
使用方法
当new一个类对象的时候,这个时候,调用构造方法
每次new对象,只调用一次构造方法
JVM虚拟机去调用的构造方法
构造方法,不能主动调用
代码
1 | public class Person |
使用时的注意事项
- 默认存在空参数构造,内容为空
- 手动添加构造函数,系统不在默认添加空参数构造函数
- 进行一次实例化对象,调用一次构造函数,传入参数不同,调用的构造函数不同
- 构造函數也有重載
代码
1 | public class Student |
构造函数和set方法赋值的区别
构造函数只在new时候调用一次构造函数 ,再次new时候是调用的新对象的构造函数,也就是说
不能通过构造函数的方法,对一个对象的成员变量进行两次赋值
set方法,使用灵活,可以给同一个对象里的成员变量进行多次赋值
实际开发过程中,多以set方法进行赋值
代码
1 | // 定义有参数的构造方法 |
构造方法在内存中的执行过程
1 | /*Person1 p = new Person1("qq",99); |
this关键字的使用
this关键字代表其所在方法的当前对象的引用
为解决变量的命名冲突和不确定性问题,引入关键字this,用来区分局部变量和成员变量的重名问题
1 | // 构造方法的执行过程 |
晚安
今天就到这里了,明天见,加油!