zoukankan      html  css  js  c++  java
  • java中的代码块、构造方法、方法的调用顺序

    一、调用顺序

    1、当调用一个实例方法时:

      静态代码块——代码块——构造方法——实例方法

    2、当调用一个静态方法时

      静态代码块——静态方法

    3、当调用多个实例方法

      静态代码块——代码块——构造方法1——实例方法1——构造方法2——实例方法2

    注意:静态代码块只会执行一次,即在写入jvm中时执行。多次实例化对象,不会重复创建。

    二、测试实例

      测试实体类: 

    public class Emp {
        static {
            System.out.println("静态代码块:"+System.currentTimeMillis());
        }
        
        {
            System.out.println("代码块:"+System.currentTimeMillis());
        }
        
        public static void staticMethod() {
            System.out.println("静态方法:"+System.currentTimeMillis());
        }
        
        public Emp() {
            System.out.println("构造方法:"+System.currentTimeMillis());
        }
        
        public void method() {
            System.out.println("实例方法:"+System.currentTimeMillis());
        }
        
        
    }

    1、执行一个实例方法

    public class TestSort {
        public static void main(String[] args) {
    //        Emp.staticMethod();
            Emp emp = new Emp();
            emp.method();
    //        Emp emp2 = new Emp();
    //        emp2.method();
        }
    }

    结果:

    静态代码块:1596012952882
    代码块:1596012952882
    构造方法:1596012952882
    实例方法:1596012952882

    2、执行一个静态方法

    public class TestSort {
        public static void main(String[] args) {
            Emp.staticMethod();
    //        Emp emp = new Emp();
    //        emp.method();
    //        Emp emp2 = new Emp();
    //        emp2.method();
        }
    }

    结果:

    静态代码块:1596013004340
    静态方法:1596013004340

    3、执行多个实例方法

    public class TestSort {
        public static void main(String[] args) {
    //        Emp.staticMethod();
            Emp emp = new Emp();
            emp.method();
            Emp emp2 = new Emp();
            emp2.method();
        }
    }

    结果:

    静态代码块:1596013069943
    代码块:1596013069944
    构造方法:1596013069944
    实例方法:1596013069944
    代码块:1596013069944
    构造方法:1596013069944
    实例方法:1596013069944
    就算这个世道烂成一堆粪坑,那也不是你吃屎的理由
  • 相关阅读:
    汽车金融评分卡
    Lending Club 数据做数据分析&评分卡
    时间序列分析和预测 (转载)
    距离计算公式总结(转载)
    机器学习常用算法与辅助函数公式
    金融领域常用的数据分析方法
    常用模型评估方法总结
    A--集成算法的实现
    A--随机森林(RF)的 sciklit-learn 实现
    A--Scikit-Learn 实现决策树
  • 原文地址:https://www.cnblogs.com/whalesea/p/13398187.html
Copyright © 2011-2022 走看看