Java构造函数
- 在开发中经常需要在创建对象的同时明确对象的属性值,比如员工入职公司就要明确他的名字,年龄等属性信息.
- 那么,创建对象就要明确属性值,那么怎么解决呢?也就是在创建对象的时候就要做的事情,当使用new关键字创建对象时,怎么给对象的属性初始化值呢?这就要学习Java另外一门小技术,构造方法.
- 那什么是构造方法呢?从字面上理解即为创建构造使用的方法,即就是对象创建时要执行的方法,那么只要在new对象时,知道其执行的构造方法是什么,就可以在执行这个方法的时候给对象进行属性赋值.
构造方法格式
修饰符 构造方法名(参数列表){
}
构造方法的体现
- 构造方法没有返回值类型.也不需要写返回值,因为它是为构建对象使用的,对象创建完,方法就执行结束.
- 构造方法名称必须和类型保持一致
- 构造方法没有具体的返回值.
构造方法的代码体现
this 关键字
- this: 代表使用者(表示当前对象)
class Person{
//Person的成员属性是:age 和 name
int age;
String name;
//Person的构造方法,拥有参数列表
Person(int age,String name){
//接受到创建对象是传递进来的值,将值赋值给成员属性
this.age = age;
this.name = name;
}
public void Speak(){
System.out.println(name+age);
}
}
一、Java 对象的初始化过程
过程
1、 new 用到了Person.class,所以会先找到Person.class文件,并加载到内存中(用到类中的内容类就会被加载)
2、执行该对象的static代码块(静态初始块)。(如果有的话,给Person.class类进行初始化)
3、在堆内存中开辟空间,分配内存地址
4、在堆内存中建立对象特有属性,并进行默认初始化
5、对属性进行显示初始化(声明成员属性并赋值)
6、执行普通初始块
7、执行构造函数
8、将内存地址赋值给栈内存中的jack变量