java静态使用

原链接:java静态使用|CloudWong

静态

什么时候用?

  1. 静态变量:
    当分析对象中所具备的成员变量的值都是相同的,这时这个成员就可以修饰成静态。
    只要数据在对象中都是不同的,就是对象的特有数据,这是非静态的;如果在对象中的数据是相同的,对象不需要修饰,不需要存储在对象中,设为静态即可。
  2. 静态函数:
    函数是否修饰为静态,就参考该方法是否访问到了对象中的特有数据,如果有就用静态。

构造函数的执行顺序

  1. JAVA中执行顺序

父类静态块-》自身静态块-》父类块-》父类构造器-》自身块-》自身构造器

/* 
 DOG父类 
 */  
public class Dog {  
    public Dog() {  
        System.out.println("Dog");  
    }  
    static{  
        System.out.println("super static block");  
    }  
      
    {  
        System.out.println("super block");  
    }  
}  

/** 
 * 子类藏獒 
 */  
public class Mastiff extends Dog {  
    public Mastiff() {  
        System.out.println("Mastiff");  
    }  
  
    {  
        System.out.println("block");  
          
    }  
    static {  
        System.out.println("static block");  
    }  
      
    public static void  main(String[] args){  
        Mastiff mastiff=new Mastiff();        
    }  
}  

运行结果:

  • super static block
  • static block
  • super block
  • Dog
  • block
  • Mastiff

也就是说此时的运行顺序为:

  • 父类静态块
  • 自身静态块
  • 父类块
  • 父类构造器
  • 自身块
  • 自身构造器

你可能感兴趣的:(java静态使用)