• 技术文章 >Java >java教程

    java 中关键字static的介绍

    巴扎黑巴扎黑2016-12-05 10:50:38原创514
    Static 静态的;可以用来修饰类 属性 方法 代码块

    我们在创建类时,就是在描述那个类的对象的外形和行为。除非是new一个创建那个类的对象,否则,实际上是不能获得任何对象的。只有在执行new来创建对象的时候,数据存储空间才会被分配,它的方法才能被调用。
    有两种情况是new一个对象的方法无法解决的。
    1.只想在某一个特定的域分配一个单独的存储空间,不用去考虑究竟要创建多少对象,甚至于不用创建对象。
    2.希望某一个方法不与存在有这个方法的类的任何一个对象有关联。
    也就是说,不用创建对象来调用这个方法。这时候,我们可以用static关键字来解决。

    当声明一个实物是static时,就说明了这个域或者是这个方法不会与存在有它的类的任何的对象关联在一起。所以,我们就可以在没创建这个类的任何一个对象,就可以来调用static的方法或者是访问static域。

    static属性[类属性]:该类的所有的对象共享的一个属性,只会占用一块内存空间
    例如:

    Java代码

     public class one{  
         static i=10;  
    }

    现在,即使你在重新创建两个one对象,one.i也只有一个存储空间,这两个对象会同时享用这个i

    Java代码

    one a1=new one();  
        one a2=new one();

    在这里,a1和a2都是指向同一个存储空间,所以它们的值都是10.

    static方法[类方法]:类方法不能再用this和super表示对象
    类方法是调用父类的还是子类重写的只和类名有关
    例如:

    Java代码

    public class two{  
         static void jia(){  
          one.i++;  
    }

    现在,这个two的jia()方法通过++运算符将静态的数据i递加。
    我们可以典型的new对象来调用:

    Java代码

    two t=new two();  
      t.jia();

    因为这个方法是静态的,我们可以直接调用,如:

    Java代码

    two.one();

    static方法的一个重要的用法就是在不创造任何对象的前提下,就可以调用它。

    static代码块:也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们写在类中的先后顺序依次执行它们,每个代码块只会被执行一次。
    例如:

    Java代码

      public class dome{  
      static {  
            System.out.print("A");  
        }  
    static {  
            System.out.print("B");  
        }  
    static {  
            System.out.print("C");  
        }  
      public static void main(String[] args) {  
        System.out.print("E");  
      
        }  
      
    }


    执行的结果
    ABCE

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:推荐Java 程序员们值得一看的好书 下一篇:关于Java中关键字的总结
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• Java中super关键字的用法详解• java的10种排序算法实例• 归纳整理Java线程面试题• Java归纳整理之IO流原理及流的分类• 实例介绍Java基于quasar实现协程池
    1/1

    PHP中文网