被static修饰的成员属于类,不属于对象。static修饰的成员被多个对象共享。

定义和使用格式

  类变量

    static 数据类型 变量名;

    static int num = 5;

    该类的每个对象都"共享"同一个类变量的值。任何对象都可以更改该类变量的值,但也可以在不创建该类的对象的情况下对类变量进行操作。

 

  静态方法

    修饰符 static 返回值类型 方法名 (参数列表){

      // 执行语句

    }

    public static void showNum() {

      System.out.println("num:" + numberOfStudent);

    }

 

    使用类名来调用,而不需要创建类的对象。

 

    注意事项

      - 静态方法可以直接访问静态变量和静态方法。

      - 静态方法"不能直接访问"普通成员变量或成员方法。而成员方法可以直接访问类变量或静态方法。因为类变量先加载

      - 静态方法中,不能使用this关键字。因为this是与对象有关的内容。

 

  调用格式

    • 类名.类变量名

      public class Person{

        static int a = 10;

      }

      Person.a;

 

    • 类名.静态方法名(参数)

      public class Person{

        public static void show(int a){}

      }

      Person.show(10);

 

static内存图概述

 

posted on 2020-04-12 23:45  ⊱风之悟⊰  阅读(202)  评论(0编辑  收藏  举报

Live2D