一个合约只能有一个构造函数。
构造函数在创建合约时执行一次,用于初始化合约状态。
在执行构造函数之后,合约最终代码被部署到区块链。合约最终代码包括公共函数和可通过公共函数访问的代码。构造函数代码或仅由构造函数使用的任何内部方法不包括在最终代码中。
构造函数可以是公共的,也可以是内部的。
内部构造函数将合约标记为抽象合约。
如果没有定义构造函数,则使用默认构造函数。
如果基合约具有带参数的构造函数,则每个派生/继承的合约也都必须包含参数。
可以使用下面的方法直接初始化基构造函数
pragma solidity ^0.8.7;
contract Constructor{
address public owner;
uint public x;
constructor(uint _x){
owner = msg.sender;
x = _x;
}
}