构造方法

一,private修饰构造函数时可以用于构造单例模式

二,在构造函数在可以调用另外的构造函数

一,单例模式

   构造方法可以由protected,private,public修饰;当用private修饰时,外部无法创建该类的实例,而通过一个接口来返回

 该类的唯一静态实例。确保系统中只有一个该类的实例,可用于频繁被使用的对象和系统组件。

class Demo{
	private Demo() {
		System.out.println("Test1.Demo1()");
	}
	private static Demo test=new Demo(); //静态成员变量在类加载时会构建
	public static Demo getInstance() {
	    if(test==null)
	    	test=new Demo();
		return test;
	}
	public  static void creatTon() {
		System.out.println("调用静态方法,初始化类会加载静态成员变量");
	}  
}
public class Singleton{
public static void main(String argv[]){
	Demo.creatTon(); //静态成员变量的加载先于静态方法调用	
}
}
单例模式中,又可以做延时加载。因为在JVM加载类时,此时该对象并不一定会用到,为了提高加载速度,可以在使用该实例才通过静态方法返回实例。

private static Demo test=null;
二 在构造函数中可以通过this(参数)来调用其他的构造函数。此时this()和super()在放在构造函数的第一行而且不能同时
出现this和super;

public class Test extends A{
	public Test() {
		this("str"); //本句之上隐藏了super()
	}
	public Test(String str) {
		System.out.println("B的实例");	
	}
	{
		System.out.println("B");
	}
	static {
		System.out.println("B static");
	}
public static void main(String argv[]){
	Test  test=new Test();
  }
}
class  A{
	static {
		System.out.println("A static");
	}
	{
		System.out.println("A");
	}
	public A() {
		System.out.println("A的实例");
	}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值