zoukankan      html  css  js  c++  java
  • 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();
         }
      }

  • 相关阅读:
    时间戳 时间 相互转换
    CS Academy Remove Update
    一周水题集锦 2017 9.4
    计蒜客 16877 卡牌游戏
    计蒜客 16876 韩梅梅的抽象画
    九度OJ 题目1534:数组中第K小的数字
    CS Academy Switch the Lights
    CF AIM Tech Round 4 C. Sorting by Subsequences
    CF Round 430 C. Ilya And The Tree
    CS Academy Round 44 Check DFS
  • 原文地址:https://www.cnblogs.com/xuecanmeng/p/5204043.html
Copyright © 2011-2022 走看看