在类中用static修饰的成员方法称为静态方法。由于类中的静态成员的生命周期与其所在的类相同,可不依赖于任何对象就可以通过类直接访问,因此静态成员的生命周期早于对象,所以在静态成员方法中没有this对象。由于非静态成员变量和非静态方法都是依赖于具体的对象进行调用及访问,因此在静态方法中不能访问类的非静态成员变量和非静态方法。
静态方法的说明:
(1)可以使用类名直接调用。
(2)静态函数中不能访问非静态成员变量,只能访问静态变量和静态方法。
(3)静态成员先于对象存在,所以在静态方法中不能使用this, super关键字。
(4)非静态函数中可以访问静态成员变量。(www.daowen.com)
如果想在不创建对象的情况下调用某个方法,就可以将这个方法设置为static。如Arrays类中的所有方法都是静态方法,可以方便地通过类名调用类中的方法实现对数组的基本操作。又如Java应用程序的执行入口方法main方法就是静态方法,因为程序在执行main方法的时候不需要创建任何对象,直接通过类名访问。
【例4.14】静态方法的应用。自定义一个数组工具类Arrays,实现遍历数组,数组求和,求数组中元素的最大值,求数组中元素最大值的下标值,求指定元素的下标,用冒泡和选择法对数组进行排序,对数组元素进行逆置和折半查找等功能。在Arrays类中的各方法可以实现对传递过来的数组进行前述各种功能,为方便可以直接通过类名调用Array工具类中各函数的功能,因此将Arrays类中的各方法定义成静态方法。注意,各方法的参数是需要处理的数组。具体实现如下:
【例4.15】静态成员变量的应用,统计Person类创建对象的个数。
运行结果:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。