类的第四个成员:初始化块(或代码块)
- 1。代码块如果有修饰的话,那么只能使用static
- 2.分类:
- 静态代码块:
- 非静态代码块:
- 1.可以对类的属性进行赋值或者初始化操作,同时也可以调用本类声明的方法();
- 2.里面可以有输出语句
- 3.一个类中可以有多个非静态的代码块,多个代码块之间按照顺序执行
- 4.每创建一个类的对象,非静态代码块就加载一次
- 关于属性赋值的操作:①默认的初始化②显示地初始化与代码块按照编写顺序执行③构造器中④通过方法对对象的相应属性进行修改
public class TestOrder {
public static void main(String[] args) {
Order o1 = new Order();
System.out.println(o1);
Order o2 = new Order();
}
}
class Order{
private int orderId;
private String orderName;
public Order() {
super();
this.orderName = "柚柚妹";
System.out.println("我是构造器");
}
//初始化块
{
orderId = 1002;
orderName = "AA";
System.out.println("我是非静态代码块1");
}
{
orderId = 1003;
orderName = "AA";
System.out.println("我是非静态代码块2");
}
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 + "]";
}
}