美文网首页
Java类中变量初始化、方法调用的顺序

Java类中变量初始化、方法调用的顺序

作者: im宇 | 来源:发表于2016-09-24 12:51 被阅读61次

    按时间先后顺序

    1、static修饰的变量初始化(是static修饰的,因此一个类就一次)
    2、main方法(是static修饰的,因此一个类就一次)
    3、构造方法
    4、对象调用方法

    示例代码:

    public class Main {
        int i = f();
        static int j = s();
    
        Main(){
            System.out.println("我是构造方法");
        }
        public int  f(){
            System.out.println("对i的赋值");
            return 100;
        }
        public static int s(){
            System.out.println("对static的赋值");
            return 500;
        }
        public static void main(String[] args){
            System.out.println("我是main方法");
            Main m = new Main();
            Main mm = new Main();
        }
    
        static int k = s();
    }
    

    运行结果:

    对static的赋值
    对static的赋值
    我是main方法
    对i的赋值
    我是构造方法
    对i的赋值
    我是构造方法

    最后说明:

    代码故意在最下面定义k变量,目的是说明static修饰的变量比起main方法确实早初始化。同时在main中创建两个对象示例,目的是说明static修饰的变量只初始化一次。

    相关文章

      网友评论

          本文标题:Java类中变量初始化、方法调用的顺序

          本文链接:https://www.haomeiwen.com/subject/icexyttx.html