百木园-与人分享,
就是让自己快乐。

Java的源码执行(建议结合Javase语法学习来加深印象)

一、源码执行时的先后顺序:

  • 父类的静态属性和静态块(按照声明顺序)
  • 本类的静态属性和静态块(按照声明顺序)
  • main方法
  • 父类的成员属性和成员块(按照声明顺序)
  • 父类构造器
  • 本类成员属性和块(按照声明顺序)
  • 本类构造器

二、源码执行需要注意:

  • 在类加载的时候,静态方法也已经加载了,但必须要通过类名或者对象名才能访问(相比于静态代码块,静态代码块是主动运行的,静态方法是被动运行的)
  • 当静态加载中遇到需要加载非静态的情况: 先加载非静态再加载静态(因为非静态可以访问静态,而静态不能访问非静态)
  • 静态代码块不能存在在任何方法体中
  • 静态代码块在类加载的时候就要运行
  • 静态代码块不能访问成员属性
  • 静态方法,实例方法只有在调用的时候才会去执行
  • 成员属性只能通过对象来调用,不能放在静态代码块中
  • 成员方法是通过加载类,然后new出实例化对象;通过对象运行这个方法

 


来源:https://www.cnblogs.com/yuyingli/p/16149713.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Java的源码执行(建议结合Javase语法学习来加深印象)

相关推荐

  • 暂无文章