java代码块执行顺序
来源:互联网 发布:环评工程师 知乎 编辑:程序博客网 时间:2024/05/29 00:32
public class ClassInitializatin {public ClassInitializatin(){System.out.println("构造器");}static {//类的初始化System.out.println("静态块");}{System.out.println("代码块");}public static void main(String[] args) {System.out.println("主函数");ClassInitializatin c=new ClassInitializatin();}}
读者看这段代码心里有底吗?知道答案吗?
初学者给的答案千奇百怪,都可以排列组合了!
那么我告诉你的答案可能会让你惊奇!
正确的答案是:
静态块
主函数
代码块
构造器
下面我就来解释一下:
1:当虚拟机启动时,它会初始化含有main方法的主类,所以直接先初始化了。所以静态快->主函数。
2:接下来实例化对象其实也会初始化那个类,但是类的初始化只有一次,所以并没有输出静态块,而是先输出代码块再输出构造器!那么读者又要问了,为什么new的时候代码块的执行要先于构造器,其实仔细想想答案就有了。
3:java要求任何变量在正式使用前都必须得到必要的初始化。初始化代码块主要用于给类中的局部变量进行初始化的,而构造函数内可能要操作到局部变量,这样必须保证在操作之前所操作的变量得到必要的初始化,因此,初始化代码块必须在构造函数之前执行。
看完的应该都懂了,这些都只是基础知识,接下来我会在我的java虚拟机分类里放大招啦!你们接住了啊!
阅读全文
1 0
- Java代码块执行顺序
- Java代码块执行顺序
- Java代码块执行顺序
- java代码块执行顺序
- Java代码块执行顺序
- Java类代码块执行顺序
- Java代码块的执行顺序
- Java类代码块执行顺序
- [JAVA]静态代码块及执行顺序
- java 静态代码块执行顺序
- java基础:代码块的执行顺序
- java中代码块执行顺序
- Java类代码块执行顺序
- JAVA基础----代码块的执行顺序
- java构造代码块执行顺序问题
- java中代码块的执行顺序
- java代码块的执行顺序
- Java代码块的执行顺序
- docker安装
- 【OpenCV3图像处理】边缘检测:Sobel算子,Laplace算子,Canny算子
- Kotlin 资源大全
- 向Edit控件设置文本的2种方法
- ROS with V-rep (2) (ROS学习笔记五)
- java代码块执行顺序
- 在windows10 下 安装PHPstorm7.1利用composer 命令行安装Laravel
- 提交含有文件的表单集合的时候使用
- 简单总结easyUI中datagrid的用法
- CentOS nfs文件挂载
- Struts2校验
- 给 Android 开发者的 RxJava 详解
- iOS 图片剪裁(附demo下载)
- 棋牌手游的未来 格局 展望 转载