[英]Unexpected tokens (use ';' to separate expressions on the same line) error in Kotlin
[英]Unexpected tokens use ';' to separate expressions on the same line - error while creating an object in Kotlin
我是kotlin的新手。 我正在研究kotlin中使用的一些設計模式。 我遇到了抽象工廠設計,並且在為 class 創建 object 時不斷收到此錯誤。 我嘗試了堆棧溢出的其他解決方案,例如缺少花括號,但徒勞無功。 我附上了整個代碼來解決。 有人可以幫我解決這個問題嗎? 提前致謝。
控制台中的錯誤:
Unexpected tokens (use ';' to separate expressions on the same line)
main.kt 代碼:
object AAbstractFactoryDesignPattern{
internal interface IAndroid{
fun GetModelDetails(): String
}
internal interface IiOS{
fun GetModelDetails(): String
}
internal interface IMobile{
fun GetAndroidPhone() : IAndroid
fun GetiOsPhone() : IiOS
}
internal class SamsungGalaxy : IAndroid{
override fun GetModelDetails(): String {
return "Model: Samsung Galaxy - RAM: 2GB - Camera: 13MP"
}
}
internal class IphoneFour: IiOS{
override fun GetModelDetails(): String {
return "Model: Iphone 4 - RAM: 1GB - Camera: 12MP"
}
}
internal class Samsung : IMobile{
override fun GetAndroidPhone(): IAndroid {
return SamsungGalaxy()
}
override fun GetiOsPhone(): IiOS {
return IphoneFour()
}
}
internal class MobileClient(factory: IMobile){
var androidPhone: IAndroid
var iOSPhone: IiOS
fun GetAndroidPhoneDetails(): String{
return androidPhone.GetModelDetails()
}
fun GetIOSPhoneDetails(): String{
return iOSPhone.GetModelDetails()
}
init {
androidPhone = factory.GetAndroidPhone()
iOSPhone = factory.GetiOsPhone()
}
}
@JvmStatic
fun main(args : Array<String>){
val samsungMobilePhone: Samsung() //error line
val samsungClient: MobileClient(samsungMobilePhone) //error line
println(samsungClient.GetAndroidPhoneDetails())
println(samsungClient.GetIOSPhoneDetails())
}
}
聲明變量時,冒號 (:) 用於明確指定變量的類型。 看起來錯誤行上的冒號應該是等於(=)。
嘗試將您的“錯誤行”更改為:
val samsungMobilePhone = Samsung() //error line
val samsungClient = MobileClient(samsungMobilePhone) //error line
或者,如果您想明確說明類型:
val samsungMobilePhone : IMobile = Samsung() //error line
val samsungClient : MobileClient = MobileClient(samsungMobilePhone) //error lines
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.