Java中static的介绍

static

1.static:静态的

2.static用来修饰:属性、方法、代码块、内部类

3.static用来修饰属性:

  • 3.1 在类中声明的属性分为:static修饰的:静态变量、类变量

    非static修饰的:实例变量

  • 3.2 静态变量在内存中只有一份,被类的多个对象所共享。

    如果类的一个对象对共享的静态变量进行修改的话,会导致其他所有的对象调用此静态变量,也是修改过的。

    对比:实例变量,在内存中每个对象一份。当通过对象a修改此实例变量时,不会影响其他对象此变量的值。

  • 3.3 实例变量:存储在堆空间中

    静态变量:方法区的静态域中

  • 3.4 实例变量,随着对象的创建而加载。每个对象一份。

    静态变量,随着类的加载而加载。内存中只有一份。

  • 3.5 静态变量的加载要早于对象的创建。

  • 3.6

是否可以直接调用静态变量实例变量
yesno
对象yesyes

上述的解释都从生命周期的角度来看即可:后出生的可以调用已经加载的。

  • 3.7 Math.PI 或 System.out

  • 3.8 开发中,类中的属性如何判断需要加上static修饰呢?

    是否需要当前类的多个对象共享唯一的一个属性。如果是,那就使用static修饰。

    类中的常量习惯使用static修饰。

4.static用来修饰方法:

  • 4.1
是否这可直接调用静态方法实例方法
yesno
对象yesyes
  • 4.2 静态方法随着类的加载而加载。

    比如:Math.round() Math.random() Math.sqrt() Arrays.sort() Arrays.binarySearch() …

  • 4.3 静态方法内不能调用非静态的结构,可以调用静态的结构:属性或方法

    非静态的方法内可以调用静态的结构和非静态的结构:属性或方法

  • 4.4 开发中,类中的方法如何判断需要加上static修饰呢?

    通常,工具类中的方法都是静态方法

    通常方法内如果操作静态变量,则此方法一般声明为静态的。

5:在静态方法中不能使用this和super关键字(因为当时对象还没创建)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值