代码块

作者: DarkMonster | 来源:发表于2017-06-04 14:31 被阅读0次

类的第四个成员:初始化块(或代码块)
1.代码块如果有修饰的话,那么只能使用static。
2.分类:
静态代码块:
1.里面可以有输出语句
2.随着类的加载而加载,而且只被加载一次
3.多个静态代码块之间按照顺序结构执行
4.静态代码块的执行要早于非静态代码块的执行。
5.静态的代码块中只能执行静态的结构(类属性,类方法)

非静态代码块:
1.可以对类的属性(静态的 & 非静态的)进行初始化操作,同时也可以调用本类声明的方法(静态的 & 非静态的)
2.里面可以有输出语句
3.一个类中可以有多个非静态的代码块,多个代码块之间按照顺序结构执行
4.每创建一个类的对象,非静态代码块就加载一次。
5.非静态代码块的执行要早于构造器

关于属性赋值的操作:①默认的初始化②显式的初始化或代码块初始化(此处两个结构按照顺序执行) ③构造器中;④通过方法对对象的相应属性进行修改

public class TestOrder {
    public static void main(String[] args) {
        Order o1 = new Order();
        System.out.println(o1);

        System.out.println();

        Order o2 = new Order();
        System.out.println(o2);
    }
}

class Order {

    private String orderName;
    private int orderId = 1001;
    private static String orderDesc;
    public Order() {
        super();
        System.out.println("我是Order类的空参的构造器");
    }
    //非静态的初始化块
    {
        orderId = 1002;
        orderName = "AA";
        System.out.println("我是非静态代码块1");
        orderDesc = "ORDER";
        show1();
        show2();
    }
    {
        orderId = 1003;
        System.out.println("我是非静态代码块2");
    }
    //静态的代码块
    static{
        System.out.println("静态代码块2");
        orderDesc = "我是一个Order";
//      orderId = 1000;
//      show1();
        show2();
    }
    static{
        System.out.println("静态代码块1");
    }

    public Order(int orderId, String orderName) {
        super();
        this.orderId = orderId;
        this.orderName = orderName;
    }

    public int getOrderId() {
        return orderId;
    }

    public void setOrderId(int orderId) {
        this.orderId = orderId;
    }

    public String getOrderName() {
        return orderName;
    }

    public void setOrderName(String orderName) {
        this.orderName = orderName;
    }

    @Override
    public String toString() {
        return "Order [orderId=" + orderId + ", orderName=" + orderName + "]";
    }
    public void show1(){
        
    }
    public static void show2(){
        
    }

}

相关文章

  • 普通代码块、构造代码块、静态代码块、同步代码块

    普通代码块:在方法或语句中出现的{}就称为普通代码块。普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定-...

  • Java中静态代码块,构造代码块,构造函数代码块

    Java中静态代码块,构造代码块,构造函数代码块,普通代码块 静态代码块 : static代码块指的是static...

  • 09.代码块的概述

    代码块 局部代码块 局部代码块是定义在方法或语句中 构造代码块 构造代码块是定义在类中成员位置的代码块 静态代码块...

  • Java代码块详解

    Java中代码块指的是用 {} 包围的代码集合,分为4种:普通代码块,静态代码块,同步代码块,构造代码块 普通代码...

  • java中的代码块

    java中的代码块: 普通代码块,静态代码块,构造代码块 1. 普通代码块:在方法或者语句中, …… ...

  • Java基础之普通代码块、构造代码块、静态代码块、同步代码块

    1、概念 普通代码块:在方法或语句中出现的{}就称为普通代码块。普通代码块和一般的语句执行顺序由他们在代码中出现的...

  • 代码块

    rem

  • 代码块

    案例 邮箱:ithelei@sina.cn 技术讨论群:687856230 GoodLuck

  • 代码块

    代码块:1.普通代码块,在方法中写的代码块2.构造快,在类中定义的代码块,在创建对象时被调用,优于构造方法执行3....

  • 代码块

    定义:被“{}”包括的代码片段,使代码具备独立性,一般用于实现特定算法; 分类:普通代码块、静态代码块、同步代码块...

网友评论

      本文标题:代码块

      本文链接:https://www.haomeiwen.com/subject/fbivfxtx.html