java中的static关键字

按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量;另一种是没有被static修饰的变量,叫实例变量。

static关键字的主要两个作用:

1. 为特定的数据类型或对象分配单一的存储空间,而与创建对象的个数无关。

2. 实现某个方法或属性与类而不是与对象关联在一起。


Java中提供了static方法和非static方法。static方法是类的方法,不需要创建对象就可以被调用,而非static方法是对象的方法,只有对象呗创建出来后才可以被使用。

static方法中不能使用this和super关键字,不能调用非static方法,只能访问所属类的静态成员变量和成员方法。

举个栗子~

像一些类只提供工具方法,而没有特殊数据的。

我们可以将其改为静态,从而直接调用。比如:

修改前:

public class ArrayToolDemo {
    public static void main(String[] args) {
	  int[] arr = {3,8,5,6};
	  ArrayTool tool = new ArrayTool();
	  int max = tool.getMax(arr);
	  System.out.println("max="+max);
	  int index = tool.getIndex(arr, 10);
	  System.out.println("index="+index);
   }
}

public class ArrayTool {
	/*
	 * 获取整型数组的最大值。
	 */
    public int getMax(int[] arr){
      int maxIndex=0;
      for (int x = 0; x < arr.length; x++) {
    	  if(arr[x]>arr[maxIndex]){
    		  maxIndex = x;
    	}
	}
     return arr[maxIndex];
    }
    public int getIndex(int[] arr,int key){
    	for (int x = 0; x < arr.length; x++) {
			if(arr[x] == key){
				return x;
			}
		}
		return -1;
    }

修改后:

public class ArrayToolDemo {
    public static void main(String[] args) {
	  int[] arr = {3,8,5,6};
	  int max = ArrayTool.getMax(arr);
	  System.out.println("max="+max);
	  int index = ArrayTool.getIndex(arr, 10);
	  System.out.println("index="+index);
   }
}

public class ArrayTool {
	/*
	 * 获取整型数组的最大值。
	 */
    public static int getMax(int[] arr){
      int maxIndex=0;
      for (int x = 0; x < arr.length; x++) {
    	  if(arr[x]>arr[maxIndex]){
    		  maxIndex = x;
    	}
	}
     return arr[maxIndex];
    }
    public static int getIndex(int[] arr,int key){
    	for (int x = 0; x < arr.length; x++) {
			if(arr[x] == key){
				return x;
			}
		}
		return -1;
    }





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值