Java中初始化块详解

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

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

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

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

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

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

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

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();

}

}

运行结果:

In static initialization block!

In non-static initialization block!

In Constructor1!

In show()!

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

Java 初始化 代码块_Java中初始化块详解及实例代码相关推荐

  1. java的static类_java中staticclass静态类详解

    一般情况下是不可以用static修饰类的.如果一定要用static修饰类的话,通常static修饰的是匿名内部类. 在一个类中创建另外一个类,叫做成员内部类.这个成员内部类可以静态的(利用static ...

  2. android message 代码,Android Handler移除Message详解及实例代码

    Android Handler移除Message详解 问题: 1.removeMessage(what)函数是否只能移除对应what值的Message? 2.对于Delayed发送的Message,能 ...

  3. java volatile 基本类型_Java中Volatile关键字详解(转)

    一.基本概念 先补充一下概念:Java 内存模型中的可见性.原子性和有序性. 可见性: 可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉.通常,我们无法确保执行读操作的线程能适时地看到其 ...

  4. 组合模式java怎么获取钥匙_java中组合模式详解和使用方法

    组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象.组合模式依据树形结构来组合对象,用来表示部分以及整体层次.这种类型的设计模式属于结构型模式, ...

  5. java 管理员命令模式_java中命令模式详解和使用方法

    命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式.请求以命令的形式包裹在对象中,并传给调用对象.调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该 ...

  6. java三目运算_Java中的三目运算符 详解

    对于有些选择分支结构,可以使用简单的条件运算符来代替. 如: if(a min=a; else min=b; 可以用下面的条件运算符来处理 min=(a 其中"(a 条件运算符由两个符号组成 ...

  7. java type 简书_Java中的Type详解

    ParameterizedType 参数化类型的使用 package com.keytop.att; /** * 实体类 * Created by fengwenhua on 2017/4/25. * ...

  8. java的timertask_Java 定时器(Timer,TimerTask)详解及实例代码

    Java 定时器 在JAVA中实现定时器功能要用的二个类是Timer,TimerTask Timer类是用来执行任务的类,它接受一个TimerTask做参数 Timer有两种执行任务的模式,最常用的是 ...

  9. java super实例_java Super 用法详解及实例代码

    java Super 用法详解及实例代码 发布于 2021-1-8| 复制链接 摘记: java  Super 用法详解 1)有人写了个很好的初始化属性的构造函数,而你仅仅想要在其中添加另一些自己新建 ...

  10. Java 线程池详解及实例代码

    转载自  Java 线程池详解及实例代码 这篇文章主要介绍了Java 线程池的相关资料,并符实例代码,帮助大家学习参考,需要的朋友可以参考下 线程池的技术背景 在面向对象编程中,创建和销毁对象是很费时 ...

最新文章

  1. mssql mysql 语法区别_mssql与mysql区别之——变量区别
  2. php中使用Curl、socket、file_get_contents三种方法POST提交数据
  3. Swift4 - 动态计算UITableView中tableHeaderView的高度 - 获取子控件高度和宽度
  4. 范围元【2013 GDCPC】有为杯 广东ACM省赛小总结
  5. Xcode8 消除部分警告
  6. 高并发01_synchronized
  7. nginx location 匹配 多个规则_你需要知道的Nginx配置二三事
  8. Maven笔记——依赖管理
  9. LaTeX中巨算符下面输入两行内容的方法
  10. C++之指针探究(十五):回调函数应用之qsort排序
  11. BZOJ 3261: 最大异或和位置-贪心+可持久化01Trie树
  12. 移植JDK,确实需要CPU指令级的工作
  13. 二次规划问题和MATLAB函数quadprog的使用
  14. Openstack+Opencontrail安装与部署初级教程
  15. 网线传输速度测试_教你局域网中怎样对网线进行全面测试
  16. 第十节 项目风险、收尾、知识产权管理
  17. 活动预告:BetaEX线上春季发布会 | TokenInsight
  18. Loaders 的使用,结合Fragments
  19. 黑莓CEO程守宗称转型已完成三分之二
  20. 音视频基础概念(3)——音视频编码与音视频容器

热门文章

  1. 录入班级学生姓名科目成绩_如何利用钉钉发布考试成绩
  2. c语言学习进阶-C语言程序稳定性测试
  3. 你的Unity3d代码质量还可以提高200%
  4. OpenShift 4 - DevSecOps Workshop (3) - 从PipelineResource、Task到一个简单的Pipeline
  5. OpenShift 4 - 安装 OpenShift 集群后如何删除节点或增加新节点
  6. (八)构建一个Docker容器来训练Deep Fake Autoencoders
  7. Visual Studio Code 10 月 Java 扩展更新
  8. 我对这个页面做了什么?
  9. 在CentOS上的Docker私有注册表
  10. tensorrt安装_[深度学习] TensorRT安装