Java-面向对象(基础篇)--代码块

来源:互联网 发布:家用网络交换机 编辑:程序博客网 时间:2024/06/05 20:12

代码块
代码块本身并不是很难理解的概念,实际上之前也一直在使用。所谓的代码块就是指使用“{}”括起来的一段代码,根据位置及声明关键字的不同,代码块可以分为普通代码块、静态代码块、构造快、同步代码块四种,其中,同步代码块将在后面的多线程中进行讲解。下面进行前面三种代码块的讲解。
一. 普通代码块
普通代码块就是指直接在方法或是语句中定义的代码块

public class CodeDemo01{    public static void main(String[] args){        {        int x=30;        System.out.println("普通代码块-->x="+x);        }        int x=100;        System.out.println("代码块之外-->x="+x);    }}

运行结果为:

普通代码块-->x=30代码块之外-->x=100

二. 构造块
构造代码块是直接写在类中的代码块。

class Demo{    {        System.out.println("1.构造块。");    }    public Demo(){        System.out.println("2.构造方法");    }}public class CodeDemo02{    public static void main(String[] args){        new Demo;        new Demo;        new Demo;    }}

运行结果为:

1.构造块。2.构造方法1.构造块。2.构造方法1.构造块。2.构造方法

本程序在主方法中产生了3个实例化对象,从输出的结果可以发现,构造块优先于构造方法执行,而且每次实例化对象时都会执行构造快中的代码,会执行多次
三. 静态代码块
静态代码块是使用static关键字声明的代码块。

class Demo{    {        System.out.println("1.构造块");    }    static {        System.out.println("0.静态代码块");    }    public Demo(){        System.out.println("2.构造方法");    }}public class CodeDemo03{    static {            System.out.println("在主方法所在类中定义的代码块。");    }    public static void main(String[] args){        new Demo();        new Demo();        new Demo();    }}

运行结果:
在主方法所在类中定义的代码块。

0.静态代码块1.构造块2.构造方法1.构造块2.构造方法1.构造块2.构造方法

从程序运行结果中可以发现,静态代码块优先于主方法执行,而在类中定义的静态代码块会优于构造块执行,而且不管有多少个对象产生,静态代码块只执行一次

0 0
原创粉丝点击