构造器和垃圾收集器——对象的前世今生

对象有生有死。

内存的两种区域:对象的生存空间堆(heap)和方法调用及变量的生存空间(stack)。
实例变量:实例变量是被声明在类而不是方法里面。
局部变量:局部变量和方法的参数都是被声明在方法中。
栈顶上方法是目前正在执行中的。
我们关心栈和堆这两种内存空间。
实例变量是声明在类中方法以外的地方。
局部变量声明在方法或方法的参数上。
所有局部变量都存在于栈上相对应的堆栈块中。
对象引用变量与primitive主数据类型变量都是放在栈上。
不管是实例变量或局部变量,对象本身都会在堆上。
声明对象和赋值有3个步骤:声明引用变量、创建对象、连接对象和引用。
唯一能够调用构造函数的方法就是新建一个类。
构造函数带有你在初始化对象时会执行的程序代码。也就是新建一个对象时就会被执行。就算你没有自己写构造函数,编译器也会帮你写一个。
方法有返回类型,构造函数没有返回类型,一定要与类的名称相同。
构造函数的一项关键特征是它会在对象能够被赋值给引用之前就执行,构造函数让你有机会可以介入new的过程。
把初始化的程序代码放在构造函数中,然后把构造函数设定成需要参数的。
如果你已经写了一个有参数的构造函数,并且你需要一个没有参数的构造函数,则你必须自己动手写。
如果类有一个以上的构造函数,则参数一定要不一样。
重载构造函数的意思代表你有一个以上的构造函数且参数都不相同。

你可能感兴趣的:(构造器和垃圾收集器——对象的前世今生)