使用new关键字创建对象
使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象 进行默认的初始化以及对类中构造器的调用。
构造器
类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下俩个特点:
1. 必须和类的名字相同
2. 必须没有返回类型,也不能写void
构造器的作用:
1. 使用new创建对象的时候必须使用类的构造器
2. 构造器中的代码执行后,可以给对象中的属性初始化赋值
【演示】
1 public class Student{ 2 private String name; 3 public Student(){ 4 name = "tom"; 5 } 6 }
构造器重载:除了无参构造器之外,很多时候我们还会使用有参构造器,在创建对象时候可以给属性赋值.
【例子】
1 public class Student{ 2 private String name; 3 public Student(){ 4 name = "tom"; 5 } 6 public Student(String name){ 7 this.name = name; 8 } 9 }
构造器之间的调用
使用this关键字,在一个构造器中可以调用另一个构造器的代码。
注意:this的这种用法不会产生新的对象,只是调用了构造器中的代码而已.一般情况下只有使用new关键 字才会创建新对象。
【演示】
public class Student{ private String name; public Student(){ this(); } public Student(String name){ this.name = name; } }
默认构造器:在java中,即使我们在编写类的时候没有写构造器,那么在编译之后也会自动的添加一个无参构造器,这个 无参构造器也被称为默认的构造器。
【示例】
public class Student{ } main: //编译通过,因为有无参构造器 Student s = new Student();
但是,如果我们手动的编写了一个构造器,那么编译后就不会添加任何构造器了
【示例】
public class Student{ private String name; public Student(String name){ this.name = name; } } main: //编译报错,因为没有无参构造器 Student s = new Student();