*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;
}
}