zoukankan      html  css  js  c++  java
  • Javazh中static的简单理解

    java中的static关键字意思是静态的静态优先于类存在。例子:

    public class TestStatic{
        int a = 0;
        public static void main(String args[]){
            System.out.println("a = " + a);
        }
    }

    运行的话,会在输出的那一行报错:无法从静态上下文中引用非静态变量 a。这也就是前面说的,静态优先于类存在,可以这么理解

    在TestStatic类还没有被实例化的时候,就已经有了静态方法main,所以在main中输出变量a时,还没有TestStatic这个类的实例,也就没有TestStatic类中的a属性,当然会报错了。

    把上面的a改成static int a = 0;
    这样就可以运行了。

    静态方法不能引用非静态变量也是一个道理,因为java是纯面向对象的,所以变量不能独立存在,一定要隶属于某个类,所以就又归到上面的情况了,上面的例子中就是在静态方法中引用了非静态的变量,这是非法的。

    静态static总结:
    1.所有同一个类的实例共享这个属性
    2.可以用 类名.静态属性名 来使用 如上例中把a改成静态后,可以这样访问a:Teststatic.a

  • 相关阅读:
    Visual C++ 2010 SP1 x86&x64
    MVC拦截
    自定义HTTP消息拦截
    转mysql半主从同步
    mysql主从搭建之诡异事件
    snapshot相关
    分布式系统唯一ID生成方案汇总
    mysql监控利器mysqlmtop部署安装
    mysql日常运维
    MySQL索引背后的数据结构及算法原理
  • 原文地址:https://www.cnblogs.com/lipijin/p/3106933.html
Copyright © 2011-2022 走看看