搜索
您的当前位置:首页正文

static 使用

来源:二三娱乐

静态方法

  1. 静态方法使用关键字static来修饰
  2. 如果方法的运行==不依赖类的实例变量(属性)==,那么就可以写成静态方法
  3. 静态方法的调用使用类来进行,格式为 ==类名.方法名==
  4. 可以使用类的对象调用静态方法 但该形式不推荐使用
  5. 静态方法中不能调用属性,在静态方法中不能调用非静态方法。非静态方法中可以调用静态方法。

使用static来修饰的变量称为静态变量

  1. 静态变量使用类直接调用,格式为 ==类名.变量名==
  2. 静态变量可以用类的对象调用 但是不推荐
  3. 实例变量每个类的对象各有一份,但是静态变量整个类仅此一份 (每个类的对象共享这一个值)
  4. 静态方法中可以调用静态变量,非静态方法也可以调用静态变量
  5. 常量一般写成静态

静态代码块

  1. 如果一段代码对应整个类值调用一次,那么这段代码就可以写成静态代码块
    static {
        //静态代码块
    }

2.静态代码块中的程序在第一次使用这个类之前自动执行 并且只执行一次
3.静态代码块中可以调用静态变量和静态方法,不能调用实例变量和普通方法

单例模式

  1. 设计模式的一种,为了限制类的对象只有一个
  2. 实现单例模式
  • 构造方法私有化
  • 提供一个公有的静态方法用于获取当前类的实例

写法1(饿汉式)

public class Bank {
    //构造方法私有化
    private Bank(){}
    private static Bank bank = new Bank();
    //提供一个公有的静态方法获取当前类的实例
    public static Bank getInstance(){
        return bank;
    }
}

写法2(懒汉式)

public class Bank {
    //构造方法私有化
    private Bank(){}
    private static Bank bank;
    //提供一个公有的静态方法获取当前类的实例
    public static Bank getInstance(){
        if(bank == null){
            bank = new Bank();
        }
        return bank;
    }
}
Top