如何使用变量的主体将数据从变量传递到构造函数?
How do I pass data from a variable into a constructor using the body of the variable?
我正在尝试使用我创建的变量将数据分配给我的 class。我想将该变量用作成员资格 class 的实例。每次传递任何值时都会出现错误。
error: no value passed for parameter '_number'
var member1 = membership()
error: unresolved reference: _number
member1._number = 1
我正在为我尝试将任何内容传递给的所有属性获取此信息。
我试图在没有任何构造函数的情况下创建 class,但我仍然会出错。我的目标是创建一个变量列表。
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';
}
您已使用需要 7 个参数的主构造函数声明了 class membership
。因此,您需要在实例化此 class:
时为这些参数提供值
var member1 = membership(
_number = 1,
_name = "George Jetson",
_address ="123 Main St.",
_zip = "99207",
_memberSince = "12/01/1997",
_memberType = 'L'
)
如果你想先创建一个class的实例,然后逐个初始化它的属性,你需要它有一个无参数的构造函数:
class membership() {
然而,您必须将其所有属性设置为可空或 lateinit,因为现在您无法在构造时提供它们的初始值:
class membership() {
var number: Int? = null
var name: String? = null
var address: String? = null
// etc
}
这样你就可以在你的问题中根据需要初始化它们。
我正在尝试使用我创建的变量将数据分配给我的 class。我想将该变量用作成员资格 class 的实例。每次传递任何值时都会出现错误。
error: no value passed for parameter '_number'
var member1 = membership()
error: unresolved reference: _number
member1._number = 1
我正在为我尝试将任何内容传递给的所有属性获取此信息。
我试图在没有任何构造函数的情况下创建 class,但我仍然会出错。我的目标是创建一个变量列表。
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';
}
您已使用需要 7 个参数的主构造函数声明了 class membership
。因此,您需要在实例化此 class:
var member1 = membership(
_number = 1,
_name = "George Jetson",
_address ="123 Main St.",
_zip = "99207",
_memberSince = "12/01/1997",
_memberType = 'L'
)
如果你想先创建一个class的实例,然后逐个初始化它的属性,你需要它有一个无参数的构造函数:
class membership() {
然而,您必须将其所有属性设置为可空或 lateinit,因为现在您无法在构造时提供它们的初始值:
class membership() {
var number: Int? = null
var name: String? = null
var address: String? = null
// etc
}
这样你就可以在你的问题中根据需要初始化它们。