Static关键字的用法

Static关键字

标签: Java


Static的关键用法,包括Static修饰的变量/属性,或者是Static修饰的方法。
首先,我们看一下下面的代码,以及代码中的注释:
代码

package com.itsme.staticMethod;

public class UseStaticMethod {
         static int base=0;//使用static修饰的变量为类变量,
         类变量是类级别,就是说这个类的对象共享这个变量/属性。
         int variable=10;
     public static void StaticMethod(int a){    //类方法
    	UseStaticMethod usm=new UseStaticMethod();
    	usm.comMethod(a);
	    UseStaticMethod.StaticMethod1(a+UseStaticMethod.base);
	    StaticMethod(a+base);
    	System.out.println("类方法被调用"+a);
    	//类方法中不能调用非类方法
    	//UseStaticMethod.comMethod(a);这种写法是错误的
	    //类方法中可以调用类方法和类变量,比如下面这行
    	UseStaticMethod.StaticMethod(a+base);
	
  }
  
    public void  comMethod(int a){
	     UseStaticMethod.StaticMethod(a);
  //非类方法中可以使用类方法和类变量
  }
  
  
    public static void StaticMethod1(int a){
	  //同StaticMethod中的用法一样,这里不再写代码;
    }
  }

Static关键字修饰的变量叫类变量或者静态变量。其实类变量实在程序加载的时候创建的,先于类的所有对象创建。使用类变量的时候,不需要使用对象调用而是可以直接使用类名。
Static关键字修饰的方法叫做类方法或者静态方法。类方法可以直接通过类名直接调用,比如:

UseStaticMethod.StaticMethod(a+base);

类方法中不能使用this关键字,因为this关键字代表当前类的对象,当方法是对象级别的时候可以用this关键字调用,但是类方法是类级别的,所以不能用this关键字。
非类方法中可以使用类方法和类变量,比如:

 UseStaticMethod.StaticMethod(a+base);
    comMethod(base);
   
 //类方法中不可调用非类方法,比如:
 comMethod(a);//错误,这种写法是不允许的
 //正确的写法如下
 UseStaticMethod usm=new UseStaticMethod();
 usm.comMethod(a);
 //通过对象来调用非类方法以及使用非类变量

PS:Static 静态代码块会在类加载的时候直接执行:

static{
    ...
    ...
}

以上就是Static关键字的使用方法。

posted @ 2016-05-02 08:57  It_sMe  阅读(180)  评论(1编辑  收藏  举报