• Java(三)


    static

    所有static修饰的数据,正规的访问方式是:类名.

    static修饰的变量叫做静态变量
    static修饰的方法叫做静态方法

    什么情况下声明成静态变量?
    所有的对象都有这个特征,并且这个特征所对应的值都是相同的。
    没必要声明成成员变量,因为浪费内存。
    应该声明成静态变量,在方法区中只存储一份,让所有的对象共享这一份数据。

    多数的工具类中的方法都是静态的,目的是方便调用。

    static修饰的数据被称作“静态的”

    使用static关键字可以定义静态代码块。

    静态代码块在类加载阶段执行,并且只执行一次,是自上而下的顺序依次执行。

    实例代码块

    每调用一次构造方法,则实例代码块就会执行一次。
    实例代码块在构造方法调用之前执行。

    实例代码块也是自上而下的顺序执行。

    单例模式:

    单例模式的特点/主要解决的问题:保证JVM中该类型的java对象只有一个

    优点:节省内存

    缺点:单例模式中因为构造方法私有化,所以单例模式无法被继承。因为在子类构造对象的时候必须使用父类中的构造方法。

    //饿汉式单例模式(在类加载阶段对象已经创建。)
    public class Customer{
    
    	//静态变量
    	private static Customer c = new Customer();
      	
      	//单例模式第一步:将所有的构造方法私有化。
      	//目的是:让外部程序不能直接调用构造方法创建对象。
      	//因为只要构造方法执行,就会有一个新对象诞生。
      	private Customer(){}
      	
      	//对外提供一个公开的获取Customer类型对象的方法。
      	public static Customer getInstance(){
      		return c;
      	}
      	  	
    }
    
    //懒汉式单例模式
    public class Customer{
    
    	//静态变量
    	private static Customer c;
      	
      	//单例模式第一步:将所有的构造方法私有化。
      	//目的是:让外部程序不能直接调用构造方法创建对象。
      	//因为只要构造方法执行,就会有一个新对象诞生。
      	private Customer(){}
      	
      	//对外提供一个公开的获取Customer类型对象的方法。
      	public static Customer getInstance(){
      		if(c==null){
      			c = new Customer();
      		}
      		return c;
      	}
    }
    

    main方法调用

    class T{
    	
    	public static void main(String[] args){
    		
    		//Customer c = new Customer();
    		
    		Customer c1 = Customer.getInstance();
    		Customer c2 = Customer.getInstance();
    		
    		System.out.println(c1==c2);
    		
    		
    	}
    }
    

      

      

      

  • 相关阅读:
    判断一棵二叉树是否为二叉搜索树
    分离链接法的删除操作函数
    线性探测法的查找函数
    Bzoj1251 序列终结者
    POJ2396 Budget
    Bzoj3531: [Sdoi2014]旅行
    Codeforces Round #389 Div.2 E. Santa Claus and Tangerines
    Codeforces Round #389 Div.2 D. Santa Claus and a Palindrome
    Codeforces Round #389 Div.2 C. Santa Claus and Robot
    Codeforces Round #389 Div.2 B. Santa Claus and Keyboard Check
  • 原文地址:https://www.cnblogs.com/xiaowei89426/p/5718352.html
Copyright © 2020-2023  润新知