static关键字

Posted huochemeiyouhuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了static关键字相关的知识,希望对你有一定的参考价值。



1. static关键字可以修饰属性

  • 称为静态属性也叫做类的变量

  • 在方法区(共享区)中存储,并且所有对象都可以访问

  • 与类同生死,也就是说类存在时static修饰的属性就存在

  • 可以使用类名.属性名称,也可以使用引用名称.属性名称

    注意:当引用名称的值为null时,也可以访问静态属性,不会出现空指针异常

  • 类优先于对象,也就是说类的生命周期比较长

  • 技术图片



2. static关键字可以修饰方法

  • 称为静态方法也叫做类的方法

  • 与类同生死,也就是说类存在时static修饰的方法就存在

  • 可以使用类名.方法名称([参数列表]); ,也可以使用引用名称.方法名称([参数列表]);

注意:当引用名称的值为null时,也可以访问静态方法,不会出现空指针异常

  • 静态方法中只能访问静态属性、静态方法

  • 当方法体中只访问静态属性、静态方法时,可以编写为静态方法



3. static关键字可以修饰代码块

  • 主要完成对静态属性赋值

  • 静态代码块在类第一次被载入时执行


      Student{
      //静态代码块:完成对静态属性赋值
      static{
          address = "北京市";
          System.out.println("执行了静态代码块。。。。。");
      }
      //构造方法:完成对实例变量赋值
      public Student(){
    
      }
      public Student(String name){
          this.name = name;
      }
      //属性
      String name; //称为非静态属性,也叫做实例变量
    
      //static String address = "北京";  //称为静态属性也叫做类的变量
      static String address;
    
      //称为静态方法也叫做类的方法
      public static void print2(){
    
      }
      public static void print(){
          System.out.println("执行了print方法");
          //System.out.println(name);  //静态方法中只能访问静态属性、静态方法
          System.out.println(address);
          print2();
      }
      //称为非静态方法也叫做实例方法
      public void show(){
          System.out.println("执行了show方法");
          System.out.println(name);
          System.out.println(address);
          print();
      }
    }




以上是关于static关键字的主要内容,如果未能解决你的问题,请参考以下文章

面向对象基础——static关键字和代码块的使用

代码片段 navbar

static关键字,代码块,abstract关键字,interface,内部类,异常处理

static关键字静态代码块

Java——static关键字

static关键字