Java关键字static理解

     一、概述

     在类中,可以定义一个与任何该类的对象都没有关系的成员。在通常情况下,类的成员必须通过类的对象访问。但是。也可以创建一个不需要特定实例变量的引用就可以访问的成员。这样的成员可认为作用于整个类。为创建这种成员,需要在成员声明前加关键字static。

      一个成员声明为static时,它可以在创建任何类对象之前访问,也可以不通过任何对象的引用访问。方法和变量都可以声明为static。最常见的static成员的例子是main()。由于main()方法需要在程序开始前由JVM调用,所以它声明为static。要在类外使用static成员,只需要用类名后加点运算符加方法名即可,而不需要创建对象。

    二、三种static关键字应用

(1)静态变量

         声明为static的变量本质上是全局变量。在创建对象时,并没有复制static变量。事实上,该类所有的实例共享一个static变量。

         改变变量会影响该类的所有对象(即影响整个类),而不仅是一个特定的实例。

         由于所有对象共享该变量,所以该变量用类名访问,而不是用对象的引用访问。

         static变量应用于整个类。

(2)静态方法

           声明为static的方法本质上是全局方法。它们独立于任何对象。实际上,static方法通过类名调用。

           静态方法在创建执行有用的功能且不与任何对象有关的公用方法时特别。在标准Math类中可以找到一些例子。Math类定义了许多static方法来执行各种各样的数学计算,如cos()、sin()、abs()等。

          声明为static的方法有一些限制。

                   1.只能调用其他static方法;

                   2.只能访问static数据;

                   3.没有static引用。

(3)静态代码块

            有时,类需要在创建对象前执行一些初始化工作。为了解决这种状况,java允许创建static代码块。在首次载入这个类时,执行static代码块,在该类用于其他任何用途前执行

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值