static关键字

static 关键字

静态

static 可以修饰哪些

可以修饰属性,也可以修饰方法,可以修饰代码块,修饰内部类

语法

访问修饰符 static 关键字 返回值类型 方法名(参数列表)

static 变量

修饰的的变量是一个类之间的共享变量

static 变量有哪些

1,成员变量:每一个类的实例对象都拥有一套这个类的非静态成员变量,并且各个对象互不影响
2,静态变量:静态变量属于类变量,某个类的多个实例之间共享静态变量

static 修饰的变量有什么特点

1,会随着类加载而加载
2,优先级高于对象的加载
3,其修饰的成员变量 被该类所有对象所共享
4,访问权限在允许情况下,可以不创建对象,直接使用类名.静态变量去访问

注意

1, static修饰的方法中是不能使用this,也不能使用super
2,static 方法不能直接调用 非static修饰的方法
3,static修饰的方法是不能被重写的
4,static 修饰的方法中是不能直接调用非static修饰的方法的

static关键字的应用:单例模式

一个类只能创建一个实例化对象,为了保证只能创建一个对象,构造器私有化设置为private,外部不能创建对象,只能提供一个static修饰的公有化方法用于返回唯一的实例。

单例模式的两种实现

饿汉式
饿汉式的实现步骤

先创建对象,当调用时对象已经创建好了,直接返回已创建对象.

//1.创建私有化构造器
private Bank(){}
//创建一个私有化对象
private static Bank bank = new Bank();
//提供一个公有化方法,用于返回唯一的实例
public static Bank getInstance(){
	return bank;
}
饿汉式的特点

优点:天然线程安全
缺点:加载早,创建的对象存在时间长,占用内存空间

懒汉式
懒汉式实现步骤
//私有化构造器
private Bank(){}
//创建唯一的对象
private static Bank bank = null;//先不分配内存
//提供公有化方法用于返回唯一实例
public static Bank getInstance(){  
    if(bank = null) 
       bank = new Bank();//如果之前没创建过对象,这里才分配内存  
    return bank;//如果唯一的实例存在,直接返回当前唯一实例
}
懒汉式的特点

缺点:线程需要做安全处理
优点:需要的时候才创建对象,减少系统开销

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值