浅谈Java中静态初始化块跟非初始化块
来源:互联网 发布:淘宝白夜追凶视频电话 编辑:程序博客网 时间:2024/04/30 12:34
众所周知在JAVA编程语言中有两种初始化块:
静态初始化块
非静态初始化块
他们到底有什么区别呢?今天就浅谈一下JAVA中静态初始化块和非静态初始化块的区别
静态初始化块
定义:
static{}
执行优先级高于非静态的初始化块,它会在对象装载到系统的时候执行一次,执行完成便销毁,它仅能初始化类变量,即static修饰的数据成员。它将在类加载时被执行。
执行优先级:1
非静态初始化块
定义:
{}
执行的时候如果有静态初始化块,先执行静态初始化块再执行非静态初始化块,在每个对象生成时都会被执行一次,它可以初始化类的实例变量。非静态初始化块会在构造函数执行时,在构造函数主体代码执行之前被运行。
执行优先级:2
实例:
1 package com.Demo; 2 public class Demo03 { 3 String name; 4 int age; 5 //构造函数初始化 优先级:3 6 public Demo03(String name,int age) { 7 this.name=name; 8 this.age=age; 9 System.out.println("构造函数");10 }11 12 //非静态初始化 优先级:2 13 {14 System.out.println("非静态初始化");15 }16 //静态初始化 优先级:117 static{18 System.out.println("静态初始化");19 }20 21 22 public static void main(String[] args) {23 Demo03 demo=new Demo03("zhangs",1);24 }25 }
结果:
静态初始化
非静态初始化
构造函数
0 0
- 浅谈Java中静态初始化块跟非初始化块
- 浅谈 JAVA中静态初始化块和非静态初始化块的区别
- 初始化块(非静态)
- JAVA中静态初始化块和非静态初始化块的区别
- Java中初始化块和静态初始化块的区别
- Java静态初始化块
- Java 静态初始化块
- java 静态初始化块
- java 静态初始化块
- java静态初始化块、实例初始化块
- Java类初始化顺序问题:静态初始化块,非静态初始化块以及构造函数
- java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波)
- java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波)
- java类中静态域、块,非静态域、块,构造函数的初始化顺序
- Java中静态变量、块、非静态变量、块和构造器的初始化顺序
- Java中静态代码块、非静态代码块以及构造函数的初始化顺序
- 初始化块/静态初始化块
- Java中类的静态初始化块
- textarea 光标处插入值
- Spark Streaming实时计算框架介绍
- 将Highcharts图表数据生成Table表格
- C++入门(5):定义个人函数
- Android应用坐标系统全面详解
- 浅谈Java中静态初始化块跟非初始化块
- PCA-SIFT总结
- 黑马52期学后总结笔记(五)
- laravel系列1-- laravel安装
- stm32里面关于ADC模块的一些知识。
- AOP(1)
- Java中如何解决double和float精度不准的问题
- sublime配置
- 存储过程 ,游标