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

按时间先后顺序

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修饰的变量只初始化一次。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,670评论 18 399
  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 5,526评论 4 12
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 11,947评论 0 62
  • 父类 static 块 1 执行 父类 静态成员staticSam1初始化 父类 静态成员staticSam2初始...
    YCix阅读 5,135评论 0 0
  • 我爱橘子罐头阅读 832评论 0 0

友情链接更多精彩内容