我正在尝试使用创建的变量将数据分配给我的类(class)。我想将变量用作成员资格类的实例。每当我传递任何值时,我都会得到一个错误。
error: no value passed for parameter '_number'
var member1 = membership()
error: unresolved reference: _number
member1._number = 1
我正在尝试将所有内容传递给所有属性。
我试图在没有任何构造函数的情况下创建类,但仍然会出错。我的目标是创建变量列表。
class membership(_number:Int, _name:String, _address:String, _zip:String, _phone:String, _memberSince:String, _memberType:Char)
{
var number: Int = _number;
var name: String = _name;
var address: String = _address;
var zip: String = _zip;
var phone: String = _phone;
var memberSince: String = _memberSince;
var memberType: Char = _memberType;
}
fun main(args: Array<String>) {
var member1 = membership()
member1._number = 1
member1._name = "George Jetson";
member1._address ="123 Main St.";
member1._zip = "99207";
member1._memberSince = "12/01/1997";
member1._memberType = 'L';
}
最佳答案
您已使用主要构造函数声明了membership
类,该构造函数需要7个参数。因此,在实例化此类时,需要为这些参数提供值:
var member1 = membership(
_number = 1,
_name = "George Jetson",
_address ="123 Main St.",
_zip = "99207",
_memberSince = "12/01/1997",
_memberType = 'L'
)
如果要先创建该类的实例,然后一个一个地初始化其属性,则需要它具有无参数的构造函数:
class membership() {
但是,您必须将其所有属性设置为可空或lateinit,因为现在无法在构造时提供其初始值:
class membership() {
var number: Int? = null
var name: String? = null
var address: String? = null
// etc
}
这样,您就可以根据需要在问题中对其进行初始化。
关于kotlin - 如何使用变量的主体将数据从变量传递到构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58573762/