Java的源码执行(建议结合Javase语法学习来加深印象)
2024-09-07 19:26:49
一、源码执行时的先后顺序:
- 父类的静态属性和静态块(按照声明顺序)
- 本类的静态属性和静态块(按照声明顺序)
- main方法
- 父类的成员属性和成员块(按照声明顺序)
- 父类构造器
- 本类成员属性和块(按照声明顺序)
- 本类构造器
二、源码执行需要注意:
- 在类加载的时候,静态方法也已经加载了,但必须要通过类名或者对象名才能访问(相比于静态代码块,静态代码块是主动运行的,静态方法是被动运行的)
- 当静态加载中遇到需要加载非静态的情况: 先加载非静态再加载静态(因为非静态可以访问静态,而静态不能访问非静态)
- 静态代码块不能存在在任何方法体中
- 静态代码块在类加载的时候就要运行
- 静态代码块不能访问成员属性
- 静态方法,实例方法只有在调用的时候才会去执行
- 成员属性只能通过对象来调用,不能放在静态代码块中
- 成员方法是通过加载类,然后new出实例化对象;通过对象运行这个方法
最新文章
- SQL Server 2014新特性——基数评估(白皮书阅读笔记)
- BPR: Bayesian Personalized Ranking from Implicit Feedback-CoRR 2012——20160421
- Hibernate常用增删改查方法
- responsive menu
- 生成最小树prim算法
- HDU 5768 Lucky7 (中国剩余定理+容斥)
- 命令行创建Windows窗体应用程序
- 【无聊放个模板系列】HDU 1269 (SCC)
- 12 hdfs常用文件、目录拷贝操作、删除操作
- 汇编语言学习——第二章 寄存器(CPU工作原理)
- Django Template模板
- java中模拟http(https)请求的工具类
- Android SDK工具(谷歌提供的16个工具)简介
- Vue(十二)vue实例的属性和方法
- RabbitMQ 发布订阅-实现延时重试队列(参考)
- Android开源日志库Logger的使用
- Jenkins持久化集成使用
- 关于微信分享到朋友圈(Thinkphp-tp3.2框架下实现)
- C#Color颜色表
- Codeforces #427 Div2 D