JAVA基础之Static

Posted xiao545

tags:

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

  • static关键字

    1. static:静态成员,类成员
    public static int price;//静态属性或者叫类属性
    public static String outName(){//静态方法和类方法
    }
    1. 特点

      1. 类产生的对象共享同一个内存空间
      2. 类加载时产生,销毁时释放,声明周期长
      3. 只能加在属性或者方法名称的前面
      4. 在成员方法(非静态方法)中可以调用静态方法
      5. 在静态方法中不可以调用非静态成员,只能调用静态成员
    2. 代码实现

      package com.imooc.animal;
      
      public class cat {
         //声明私有变量
         public static String name;
         public String outName() {
             return this.name;
         }
      }

      主程序

      package com.imooc.animal;
      
      public class catTest {
         public static void main(String[] args) {
             cat one=new cat();//声明并实例化
             cat.name="帅虎";//这里既可以用对象名one,也可以用类名(cat--推荐)
              //同理,调用静态方法的时候也可以用类名或者对象名
             System.out.println(one.outName());
         }
      }

      输出:

      帅虎

  • 构造代码块和普通代码块

    普通代码块:代码块内按照语句的顺序执行

    构造代码块: 在对象被创建的时候调用,优于构造方法执行

    静态代码块: static+构造代码块,优于构造代码块执行

    类:

    package com.imooc.animal;
    
    public class cat {
      public cat() {
          System.out.println("我是构造方法");
      }
      {//构造代码块
          System.out.println("我是构造代码块");//首先输出
      }
      static {//静态代码块
          System.out.println("我是静态代码块");
      }
    }

    主函数:

    package com.imooc.animal;
    
    public class catTest {
      public static void main(String[] args) {        
          cat two=new cat();
      }
    }
    

    结果:
    我是静态代码块
    我是构造代码块
    我是构造方法




以上是关于JAVA基础之Static的主要内容,如果未能解决你的问题,请参考以下文章

JAVA基础之Static

Java基础之static关键字的用法

java基础之static关键词的作用

Java基础之static关键字

5.java基础之static类加载过程

Java语言基础之方法的设计