oo:构造方法

 构造方法:

 

  • 只要创建对象,就会调用构造方法,可以给对象的属性进行初始化。
Person p = new Person();            //一创建对象,就会调用Person()方法。
Person p2 = new Person("zhangsan");      //给对象的属性进行初始化

 

  

  • 方法名和类名相同,没有返回值类型。
//这是一个无参构造方法,系统默认会提供,如果我们给出了,系统将不会提供无参构造方法了。
public Person(){

}

 

  • 构造方法还可以重载,其实和方法重载一个道理,创建对象的同时,有参数的对象那就会调用有参数的构造方法,没有参数的就会调用无参构造方法。
//当创建对象Person p = new Person()时,就会调用无参构造
public Person(){

}
//当创建对象Person p2 = new Person("zhangsan")时,就会调用以下的有参构造方法
public Person(String name){
  this.name = name;
}

 

  • 给成员变量赋值的方式:

    构造方法初始化成员变量,一个对象只能初始化一次。

    set方法设置成员变量,可以多次设置一个对象的成员变量。

 

  • 一个对象(Person p = new Person();)内存的加载步骤:
0、加载Person.class字节码文件进入内存
1、在栈内存声明一个引用p
2、在堆内存new出一个对象
3、给对象进行默认初始化
4、属性进行显示初始化
5、构造方法进栈,进行对象属性赋值
6、将对象的地址赋给引用p

 

  

 

posted @ 2017-12-01 23:06  llamsll  阅读(134)  评论(0)    收藏  举报