java static关键字

static关键字可以修饰的元素:

  • 属性   所有对象共享,称为静态变量或类变量;不用static修饰的属性称为实例变量。static只能修饰属性,不能修饰局部变量。
  • 方法 不需要实例化就可以直接访问,称为静态方法或类方法;
  • 代码块  使用static修饰的,不包含在任何方法体的代码块,称为静态代码块

静态属性

用static修饰的属性,他们在类被载入时创建,只要类存在,static变量就存在。

静态变量和非静态变量的区别:静态变量被所有的对象所共享,在内存中只有一个副本,他当且仅当在类初次加载时会被初始化。而非静态变量是对象多拥有的,再创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。

两种方式访问:

  • 直接访问:类型.属性
  • 实例化后访问:对象名.属性(不建议使用)

静态方法

静态方法不需要实例化,可以直接访问,静态方法中不能直接访问非静态属性以及非静态成员方法。访问方式:

  • 直接访问:类名.方法名()
  • 实例化后访问:对象名.方法名()(不建议使用)

注意事项:

  • 静态方法不能修饰构造器(构造方法)
  • 静态方法中不能使用this关键字
  • 静态方法里只能直接访问静态属性和方法,而不能直接访问类中的非静态属性和方法

静态语句块

  • 当类被载入时,静态代码块被执行,且只被执行一次
  • 静态块经常用来进行类属性的初始化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值