*create Date:2017-3-29
*modified Date:2017-3-29
*modified by:shark
*Description:聯繫靜態屬性和靜態方法
**/
public class StaticDemo{
public static void main(String [] args){
Account.num1++;
System.out.println(Account.num1);
Account.show1();
Account account=new Account();
account.show2();
}
}
class Account{
public static int num1=1;
public int num2=2;
static{
num1=20;
}
Account(){
num1=3;
num2=4;
}
public static void show1(){
System.out.println(num1);
}
public void show2(){
System.out.println(num1);
System.out.println(num2);
}
}
單例模式
/**
*create Date:2017-3-29
*modified Date:2017-3-29
*modified by:shark
*Description:單例模式
**/
public class SingleTonDemo{
public static void main(String [] args){
SingleTon.getinfo();
SingleTon.getinfo();
}
}
class SingleTon{
//private static SingleTon singleTon=new SingleTon();//靜態屬性保存一個受保護的實例化對象,靜態屬性在程序開始時優先值加載一次。餓漢式
private static SingleTon singleTon= null;//懶漢式
private SingleTon(){//受保護的構造函數
System.out.println("單例模式無論接口被調用多少次只被實例化一次");
}
// public static SingleTon getinfo(){//餓漢式
// return singleTon;//返回受保護的實例化對象
// }
public static SingleTon getinfo(){//懶漢式
if(singleTon==null){//singleTon是靜態屬性,是全局的只有在第一此被加載時時null如果被實例化則會變成一個對象。
singleTon=new SingleTon();
}
return singleTon;
}
}