public class BankTest{
public static void main(String[] args) {
//采用类调用生成
Bank bank1 = Bank.getbank();
Bank bank2 = Bank.getbank();
System.out.println(bank1==bank2);
//很明显二者相等
}
}
//以下是饿汗式(立即加载)书写与懒汉式(延迟加载。需要时进行创建)
class Bank {
//1:建立私有构造器,外面不能new 只能内部new
private Bank(){
}
//2:Bank bank = new Bank();这个也算属性
private static Bank bank = new Bank();//****
//3:调用Get返回Bank类型变量
public static Bank getbank()//此处方法权限不能私有,否则在Bank类下才能使用
{
//private Bank getbank(){
return bank;//由于外部无法new对象调用此方法,只能通过类的静态调用此方法
//又此时报错,因为只能调用静态属性,含有new 但不含static 就不算
//故将第20行改为 static Bank bank=new Bank();
}
//-------------------------以下是懒汉式:
private Bank(){
//构造器
}
private static Bank bank = null;
public static Bank getbank(){
if(bank==null){
bank = new Bank();
}
return bank;
}
}
public static Bank getbank()//此处方法权限不能私有,否则在Bank类下才能使用。//由于外部无法new对象调用此方法,只能通过类的静态调用此方法。//故将第20行改为 static Bank bank=new Bank();//又此时报错,因为只能调用静态属性,含有new 但不含static 就不算。//1:建立私有构造器,外面不能new 只能内部new。//3:调用Get返回Bank类型变量。// //构造器。