文档章节

Java的4种代码块

城固如春
 城固如春
发布于 2016/10/26 22:31
字数 321
阅读 5
收藏 1

一、普通代码块

  直接在一个方法中出现的{}就称为普通代码块,例子程序如下:

  public class CodeDemo01{

  public static void main(String[] args){

  //普通代码块

  {

  int x = 10;

  System.out.println("x=" + x);

  }

  int x = 100;

  System.out.println("x=" + x);

  }

  }

  二、构造代码块

  直接在类中定义的没有加static关键字的代码块{}称为构造代码块,例子程序如下:

  public class CodeDemo02{

  public CodeDemo02(){

  System.out.println("========这是构造方法=========");

  }

  //这是构造代码块,而且在new对象时,构造代码块优先构造方法执行

  {

  System.out.println("=========这是构造块!=========");

  }

  public static void main(String[] args){

  new CodeDemo02();

  new CodeDemo02();

  }

  }

  三、静态代码块

  使用static关键字声明的代码块称为静态代码块,静态块的主要目的是用来为静态属性初始化,例子程序如下:

  public class CodeDemo03

  {

  static{

  System.out.println("这是主类中的静态代码块!");

  }

  public static void main(String[] args){

  new Demo();

  new Demo();

  new Demo();

  }

  }

  class Demo

  {

  static{

  System.out.println("这是Demo类中的静态代码块!");

  }

  {

  System.out.println("这是Demo类中的构造块!");

  }

  public Demo(){

  System.out.println("这是构造方法!");

  }

  }

  静态块优先于主方法的执行,静态块优先于构造方法的执行,而且只执行一次!

  四、同步代码块

  同步代码块主要出现在多线程中。

本文转载自:http://www.cnblogs.com/end/archive/2012/12/21/2827554.html

城固如春
粉丝 12
博文 187
码字总数 25379
作品 0
杭州
程序员
私信 提问
java 同步块(Java Synchronized Blocks)

Java 同步块包括方法同步和代码块同步。java 同步可以避免资源竞争,避免死锁。 主题包括的主要内容: 关键字 Synchronized 实例方法 Synchronized static methods Synchronized blocks in i...

丁佳辉
2015/08/18
106
0
两道面试题,带你透彻解析Java类加载机制

  在许多Java面试中,我们经常会看到关于Java类加载机制的考察,例如下面这道题:   class Grandpa { static { System.out.println("爷爷在静态代码块"); } } class Father extends Gran...

java进阶架构师
2018/12/06
0
0
JVM系列第7讲:JVM 类加载机制

当 Java 虚拟机将 Java 源码编译为字节码之后,虚拟机便可以将字节码读取进内存,从而进行解析、运行等整个过程,这个过程我们叫:Java 虚拟机的类加载机制。JVM 虚拟机执行 class 字节码的过...

陈树义
2018/11/20
0
0
两道面试题,带你解析Java类加载机制

文章首发于【博客园-陈树义】,点击跳转到原文《两道面试题,带你解析Java类加载机制》 在许多Java面试中,我们经常会看到关于Java类加载机制的考察,例如下面这道题: 请写出最后的输出字符...

陈树义
2018/06/12
0
0
两道面试题带你解析 Java 类加载机制

在许多Java面试中,我们经常会看到关于Java类加载机制的考察,例如下面这道题: class Grandpa{ } class Father extends Grandpa{ }class Son extends Father{ }public class Initialization...

2018/06/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Qt程序打包发布方法(使用官方提供的windeployqt工具)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/toTheUnknown/article/details/81748179 如果使用到了Qt ...

shzwork
22分钟前
2
0
MainThreadSupport

MainThreadSupport EventBus 3.0 中的代码片段. org.greenrobot.eventbus.MainThreadSupport 定义一个接口,并给出默认实现类. 调用者可以在EventBus的构建者中替换该实现. public interface ...

马湖村第九后羿
42分钟前
3
0
指定要使用的形状来代替文字的显示

控制手机键盘弹出的功能只能在ios上实现,安卓是实现不了的,所以安卓只能使用type类型来控制键盘类型,例如你要弹出数字键盘就使用type="number",如果要弹出电话键盘就使用type="tel",但这...

前端老手
53分钟前
6
0
总结:Raft协议

一、Raft协议是什么? 分布式一致性算法。即解决分布式系统中各个副本数据一致性问题。 二、Raft的日志广播过程 发送日志到所有Followers(Raft中将非Leader节点称为Follower)。 Followers收...

浮躁的码农
今天
7
0
Flask-admin Model View字段介绍

Model View字段介绍 can_create = True 是否可以创建can_edit = True 是否可以编辑can_delete = True 是否可以删除list_template = 'admin/model/list.html' 修改显......

dillonxiao
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部