首先static用于修饰成员(成员变量和成员函数)
被修饰的成员:随着类的加载而加载,优先于对象存在,被所有对象所共享,可以直接被类名调用。调用方式:类名.静态成员
存放于【方法区】----存放类中的方法和共享数据。
什么时候定义静态函数:当功能内部没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态的,用类名直接调用。
给你举个例子吧Eg:获取数组的最大值
class ArrayTool { public static void main(String[] args) { int[] arr={5,8,4,1,3,5,8,77,55,99}; int max=GetMax.getMax(arr); System.out.println("max="+max); } } class GetMax { public static int getMax(int[] arr) { int max=0; for(int x=0;x<arr.length;x++) { if(arr[x]>arr[max]) max=x; } return arr[max]; } }
这个程序里把getMax()方法定义成静态的,在调用的时候就不需要new对象,用类名GetMax.直接调用即可! |