服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java中初始化块详解及实例代码

Java中初始化块详解及实例代码

2020-08-30 11:05Java之家 Java教程

这篇文章主要介绍了Java中初始化块详解及实例代码的相关资料,在Java中,有两种初始化块:静态初始化块和非静态初始化块,需要的朋友可以参考下

Java中初始化块详解

在Java中,有两种初始化块:静态初始化块和非静态初始化块.

静态初始化块:使用static定义,当类装载到系统时执行一次.若在静态初始化块中想初始化变量,那仅能初始化类变量,即static修饰的数据成员.

非静态初始化块:在每个对象生成时都会被执行一次,可以初始化类的实例变量.

非静态初始化块会在构造函数执行时,且在构造函数主体代码执行之前被运行.

括号里的是初始化块,这里面的代码在创建Java对象时执行,而且在构造器之前执行!

其实初始化块就是构造器的补充,初始化块是不能接收任何参数的,定义的一些所有对象共有的属性、方法等内容时就可以用初始化块了初始化!!

好处是可以提高初始化块的复用,提高整个应用的可维护性。--《疯狂java讲义》

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.tiandinet.studyjava;
  
 public class TestInitiateBlock {
  
 {
 System.out.println("In non-static initialization block!");
 };
  
 static {
 System.out.println("In static initialization block!");
 };
  
 public TestInitiateBlock() {
 System.out.println("In Constructor1!");
 }
  
 public void show() {
 System.out.println("In show()!");
 }
  
 /**
 * @param args
 */
 public static void main(String[] args) {
 TestInitiateBlock ti = new TestInitiateBlock();
 ti.show();
 }
  
 }

运行结果:

?
1
2
3
4
In static initialization block!
In non-static initialization block!
In Constructor1!
In show()!

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/qq_35101189/article/details/63680511

延伸 · 阅读

精彩推荐