我们对于一条简单的代码做一下分析:
p = new person(),到底发生了什么。首先我们先来搞一个简单的模型:
内存:
内存中有栈空间和堆空间,当我们new了一个对象出来的时候,其实就是在堆中开辟了一片空间。来存放这个对象以及其中的方法属性等。
那么什么是构造方法呢:
在类中 如果没有返回类型,并且方法名和类名相同,那么这个方法就称为构造方法。
比如下面这个类
public class Person {
public Person() {//这里就是构造方法
}
public void eat() {
}
}
那么构造方法又能干什么呢?
构造方法可以用来初始化:
new Person();实际上就是调用了构造方法创建对象。
而且还要注意一点,在没有声明构造方法的时候,类默认会有一个无参的构造方法,当声明了带参的构造方法后,默认的无参构造方法会被覆盖。
默认的无参构造方法会对没有赋值的变量赋初值,String等会被赋值为null,数字会被赋值为0,Boolean会被赋值为false,Char会被赋值为’ '(空格),this代表当前对象。