我们为什么需要构造器与代码块?
当我们创建对象时,对象究竟是怎么样new出来的,又是怎么样将new出来的对象返回的呢?虽然Java是有着封装的特性,我们不知道内部的实现也不妨碍编程,但不刨根问底的程序员不是好的架构师,有余力时还是应该多看源码多看内部实现。new对象的内部实现,就离不开构造器的概念。
简单来说,被 { } 括住的代码,就叫代码块。我们平时总会习以为常的使用代码块,甚至习惯到不以为然了,而越是这种不以为然的东西,越是应该好好分析研究一下。
构造器
在创建对象时,调用的方法,称为构造器,或构造方法。
一个类里,至少会有一个构造方法。即使没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法(《方法的重载》)。
来个实例:
public class Person {
private String name;
private int age;
Person() {
System.out.println("默认构造器被调用");
}
// 构造器的重载
Person(String name,int age) {
System.out.println("重载的带参构造器被调用");
this.name = name ;
this.age = age ;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
public