构造函数的种种
目录
1.无参构造函数VS默认构造函数VS带参数的构造函数(参数化构造函数)
2.构造函数重载
3.静态构造函数
(对象属性=对象的getter()方法和setter方法)
1.和默认构造函数不同的是,无参构造函数里有执行语句,在其它类里初始化的同时,执行语句也会被调用一次。如果只创建了带参数的构造方法,那么编译器不会自动添加无参的构造方法的!
public class 小王
{
//带参构造函数
小王()
{
System.out.println("text");
}
}
public class 小杨
{
public void main()
{
小王 w1 = new 小王("w1");
}
}
输出:w12.构造函数重载指的是同一个类里面定义实现了多个不同参数列表的构造函数,主要根据传进去的参数不同,调用的构造函数也不同。
3.静态构造函数
class Singleton {
public static Singleton instance;
//静态内部类用于单例模式
private static class SingletonWrapper {
static Singleton instance = new Singleton();
}
private Singleton() {
}
//当有线程第一次调用getInstance的时候,SingletonWrapper就会被class loader加载进JVM,在加载的同时,执行instance的初始化。
public static Singleton getInstance() {
return SingletonWrapper.instance;
}
}
//所以,这种写法,仍然是一种懒汉式的单例类。
