• 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关键字的使用方法。

  • 相关阅读:
    Pandas 基础(8)
    Pandas 基础(7)
    Pandas 基础(6)
    Pandas 基础(5)
    Pandas 基础(4)
    python matplotlib 图表局部放大
    python 带小数点时间格式化
    emacs elpy代码补全功能
    spacemacs 初始安装报错
    视频加载logo 2
  • 原文地址:https://www.cnblogs.com/It_sMe/p/5451874.html
Copyright © 2020-2023  润新知