2021-05-16

函数初始化的问题:以下是复制博客的一些东西。

Java存在构造初始化和自动初始化吗?

东:
public class OrderOfInitialization {
 
    public static void main(String[] args) {
        House h = new House();
        h.f();
    }
}
 
class Window {
    Window(int marker) {
        System.out.println("window(" + marker + ")");
    }
}
 
class House {
    Window w1 = new Window(1);
    House() {
        System.out.println("House()");
        w3 = new Window(33);
    }
    Window w2 = new Window(2);
    void f() {
        System.out.println("f()");
    }
    Window w3 = new Window(3);
}
 
/*
 * output:
window(1)
window(2)
window(3)
House()
window(33)
f()
 */

东:
在Employee中有两个地方会对两个成员变量进行初始化,分别是初始化块和构造函数

下面介绍下Java中构造函数的执行步骤:

1.将所有的数据域全部初始化为默认值(0, false, null)。

2.按照在类中的声明顺序,依次执行初始化语句和初始化块。

3.如果这个构造函数的第一行调用了其他构造函数,转去执行其他构造函数。

4.执行构造函数主体。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值