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();
    	}
    }
    
    

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

原文地址:https://www.cnblogs.com/upxiao/p/9817486.html