Java中的4种代码块

一、普通代码块

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

  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("这是构造方法!");

    }

  }

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

  四、同步代码块

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

  package cn.sunzn.synchronize;

  public class SynchronizeCode {
     public static void main(String[] args) {
         new Thread() {
             public void run() {
                 while (true) {
                       System.out.print("同步");
System.out.println("代码");
                 }
             };
         }.start();
         new Thread() {
             public void run() {
                 while (true) {
                     System.out.print("Synchronize");
                     System.out.println("Code");
                 }
             };
         }.start();
     }
  }

时间: 2024-10-13 07:00:25

Java中的4种代码块的相关文章

掌握java中的三种代码块的定义及使用

代码块概念 代码块本身并不是一个很难理解的概念,实际上之前也一直在使用.所谓代码块是指使用"{}"括起来的一段代码,根据位置不同,代码块可以分为四种:普通代码块.构造块.静态代码块.同步代码块,其中同步代码块本书将在多线程部分进行讲解,本章先来观察其他三种代码块. 普通代码块 直接定义在方法中的代码块称为普通代码块. public class CodeDemo01{ public static void main(String args[]){ {  // 普通代码块 int x =

java中的四种代码块

一.普通代码块 直接在一个方法中出现的{}就称为普通代码块,例子程序如下: 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关键字的代码

java中成员变量、代码块、构造函数执行顺序

1.java虚拟机运行程序,首先需要装载类,安装现装载父类,初始化父类的静态代码块和静态成员变量 再load子类.初始化子类静态代码块和成员变量 2.load完毕父类与子类后,从main函数入口执行程序,先输出,接着new实例化Beetle类,则先实例化父类Insect,实例化父类时,先初始化非静态成员变量和非静态代码块,接着执行父类构造方法 再实例化子类,实例化子类时,先初始化非静态成员变量和非静态代码块,接着执行子类构造方法. package it.xiangnan.test; public

java中成员变量、代码块、构造函数运行顺序

1.java虚拟机执行程序,首先须要装载类,安装现装载父类,初始化父类的静态代码块和静态成员变量 再load子类. 初始化子类静态代码块和成员变量 2.load完成父类与子类后,从main函数入口运行程序.先输出,接着new实例化Beetle类,则先实例化父类Insect,实例化父类时.先初始化非静态成员变量和非静态代码块,接着运行父类构造方法 再实例化子类,实例化子类时,先初始化非静态成员变量和非静态代码块,接着运行子类构造方法. package it.xiangnan.test; publi

Java学习笔记四(代码块 )

1 代码块的分类:java中的代码块是指使用{}括起来的一段代码,根据位置不同可以分为四种: 普通代码块 构造快 静态代码块 同步代码块 今天主要学习前三种代码块,同步代码块在学习到多线程部分的时候再加学习. 2 普通代码块:直接定义在方法中的代码块,如下: public class CodeSpace { public static void main(String args[]){ { int x = 30; System.out.println("普通代码块x="+x); } /

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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 package s

JAVA中的四种引用以及ReferenceQueue和WeakHashMap的使用示例

简介: 本文主要介绍JAVA中的四种引用: StrongReference(强引用).SoftReferenc(软引用).WeakReferenc(弱引用).PhantomReference(虚引用)的作用.同时我们还将介绍ReferenceQueue和WeakHashMap的功能和使用示例. 欢迎探讨,如有错误敬请指正 如需转载,请注明出处 http://www.cnblogs.com/nullzx/ 1. JAVA中的四种引用 四种引用中,软引用.若引用.虚引用都需要相关类来创建.创建的时候

java中的四种单例实现方式

在java中,单例设计模式是非常常见的设计模式,对单例设计模式的概念,不做过多的介绍,下面将逐一介绍四种单例设计模式: 1.第一种单例设计模式 1.1 代码实现 package com.singleton.one; /**  * 第一种单例设计模式  * @author Administrator  *  */ public class SingleTonOne { // 实例化 private static SingleTonOne instance = new SingleTonOne();

在Java中直接调用js代码(转载)

http://blog.csdn.net/xzyxuanyuan/article/details/8062887 JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Java中直接调用js代码 不能调用浏览器中定义的js函数,会抛出异常提示ReferenceError: “alert” is not defined.   package com.sinaapp.manjushri;  import javax.script.ScriptEngine;  import