解读Java静态代码块和构造代码块

栏目: Java · 发布时间: 7年前

内容简介:解读Java静态代码块和构造代码块

一、对静态代码块和非静态代码块进行简单的总结

1.静态代码块:

静态代码块是在当类被载入(内存)时最先被调用的,且之被执行一次,静态块常用来执行类属性的初始化。执行 的载入之前就会调用。

2.非静态代码块:

非静态代码块是在当类的对象被创建载入(内存)时最先被调用的,每创建一个对象,即每载入一个对象,非静态代码块都执行一次。执行 类对象 的载入之前就会调用。

3.静态方法、非静态方法:都是调用时,才执行的。静态方法属于类的,加载完类就可以调用静态方法;非静态方法是属于对象的,加载完对象就可以调用非静态方法。

二、相关示例演示

 1 public class Cc {
 2     public static void main(String[] args) {
 3         test p=new test();
 4     }
 5 }
 6 
 7 class test {
 8     test() {  //在类对象创建的时候就开始执行。简称创建即执行。
 9         System.out.println("这是构造函数");
10     }
11 
12     {  //构造代码块,执行在构造函数之前,每当在创建类对象的时候都执行。
13         System.out.println("这是构造代码块");
14     }
15     
16     static {  //静态代码块,最早执行,且值执行一次。
17         System.out.println("这是静态代码块");
18     }
19 }

打印结果:

解读 <a href='https://www.codercto.com/topics/22013.html'>Java</a> 静态代码块和构造代码块

演示当被调用两次的时候,会发生什么打印结果。加深对静态代码块的理解。

 1 public class Ccc {
 2 public static void main(String[]args)
 3 {
 4     MyTest p=new MyTest();
 5     MyTest p2=new MyTest();//两次调用
 6 }
 7 }
 8 class MyTest{
 9     
10     MyTest(){
11         System.out.println("这是构造函数");
12     }
13     
14     {
15         System.out.println("这是构造代码块");
16     }
17     
18     static{
19         System.out.println("这是静态代码块");
20         
21     }
22 }

打印结果如下:

解读Java静态代码块和构造代码块

介绍一个含参的例子: 1 class

Cccc {

2 public static void

main(String[] args) {

3 new Person(77

);

4 new

Person();

5

}

6

}

7
8 class

Person {

9
10

Person() {

11 System.out.println("a"

);

12

}

13

14

15 Person( int x) {  // 注意带参数了!!

16

System.out.println(x);

17

}

18
19 static

{

20 System.out.println("b"

);

21

}

22
23

{

24 System.out.println("c"

);

25

}

26

}

打印结果:

解读Java静态代码块和构造代码块

本文永久更新链接地址 http://www.linuxidc.com/Linux/2017-06/144875.htm


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python自然语言处理

Python自然语言处理

(英)伯德、(英)克莱因、(美)洛普 / 东南大学出版社 / 2010-6 / 64.00元

《Python自然语言处理(影印版)》提供了非常易学的自然语言处理入门介绍,该领域涵盖从文本和电子邮件预测过滤,到自动总结和翻译等多种语言处理技术。在《Python自然语言处理(影印版)》中,你将学会编写Python程序处理大量非结构化文本。你还将通过使用综合语言数据结构访问含有丰富注释的数据集,理解用于分析书面通信内容和结构的主要算法。 《Python自然语言处理》准备了充足的示例和练习,......一起来看看 《Python自然语言处理》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具