static关键字

●static
可以用来修饰的结构:属性,方法,代码块,内部类
变量的分类(按位置分) : 成员变量(属性) vs 局部变量
属性的分类 :对象属性(实例变量/实例属性) vs 类属性(类变量)

● static修饰属性(类属性)
1. 同一个类创建的多个对象,每个对象单独拥有一份实例变量,共同拥有一份类变量。
2. 同一个类多个对象中某个对象对类变量进行修改后,其它的对象看到的是修改后的值。
3. 类变量是随着类的加载而加载的(类加载加载一次)。实例变量是随着对象的创建而加载的。
4. 调用类变量的两种方式 : 类名.类变量名      对象名.类变量

●static修饰方法(静态方法/类方法)
1. 静态方法是随着类的加载而加载的。
2. 静态方法中不能调用实例变量和非静态方法 (原因 :因为加载时机不同。类加载的时候还没有对象)
3. 非静态方法(对象方法/非静态方法)中可以调用类变量和静态方法
4. 静态方法中不能使用"this"和"super"关键字

●使用场景
  static修饰属性 :
    1. 多个对象需共同拥有该属性时那么使用static修饰
    2. 常量 : public static final double PI = 3.14159265358979323846;
  static修饰方法:
    1. 工具类中的方法都是静态方法
    2. 有时为了调用类变量方法也会定义成静态方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值