内容简介:解读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 }
打印结果:
演示当被调用两次的时候,会发生什么打印结果。加深对静态代码块的理解。
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 }
打印结果如下:
Cccc {
2 public static voidmain(String[] args) {
3 new Person(77);
4 newPerson();
5}
6}
7Person {
9Person() {
11 System.out.println("a");
12}
1314
15 Person( int x) { // 注意带参数了!!
System.out.println(x);
17}
18{
20 System.out.println("b");
21}
22{
24 System.out.println("c");
25}
26
}
打印结果:
本文永久更新链接地址 : http://www.linuxidc.com/Linux/2017-06/144875.htm
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Java类 静态代码块、构造代码块、构造函数初始化顺序
- 少说话多写代码之Python学习046——类的成员(构造函数)
- 少说话多写代码之Python学习047——类的成员(调用父类构造函数)
- TS 的构造签名和构造函数类型是啥?傻傻分不清楚
- 只有你能 new 出来!.NET 隐藏构造函数的 n 种方法(Builder Pattern / 构造器模式)
- 构造函数、原型、原型链、继承
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Series 60 应用程序开发
巴克 / 人民邮电出版社 / 2005-7 / 75.0
Series 60智能手机开发平台正掀起新一轮的移动服务浪潮。超过60%的手机生产商获得了Series 60平台的授权。Series 60移动应用开发平台拥有最大的用户群,从而成为智能手机市场的代表。诺基亚与EMCC软件公司合作,为C++程序员和软件设计师编撰了这本Series 60开发的权威指南。本书由诺基亚资深专家进行了全面审阅。本书内容涉及了开发过程的各个阶段,从设计、编程、测试、调试到部署......一起来看看 《Series 60 应用程序开发》 这本书的介绍吧!
SHA 加密
SHA 加密工具
html转js在线工具
html转js在线工具