【问题标题】:Accessing a public class (Kotlin)访问公共类 (Kotlin)
【发布时间】:2021-09-14 20:14:34
【问题描述】:

我是 kotlin 和 android studio(我正在使用)的新手,所以这很简单,但是我在编写教程时遇到了这个问题

问题很简单:

我有两个 kotlin 类(MainActivity 和为什么)。为什么包含我想在 MainActivity 中调用的函数测试。

我该怎么做?

在本教程中,我只是在 MainActivity 中这样称呼它

why.test()

(完整代码如下)

但是当我尝试这样做时,我得到了错误:

“未解决的参考:第 13 行测试”(我称之为测试)。

为什么会这样?我该如何让它发挥作用?

代码:

MainActivity 类:

package com.example.tester

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        work()
    }
    private fun work() {
        why.test()
    }
}

为什么类中的测试函数:(在这个例子中测试什么都不做)

package com.example.tester

class why {
    fun test() {
        var i = 0;
    }
}

【问题讨论】:

  • 你确定教程没有why().test()吗? why 后面有括号?或者,他们是否可能将why 声明为object 而不是class

标签: android-studio kotlin


【解决方案1】:

我认为“测试”应该是静态的(或创建why 的对象),如下所示:

package com.example.tester

class why {
   companion object { 
     fun test() {
        var i = 0;
      }
   }
}

What is the equivalent of Java static methods in Kotlin?

【讨论】:

    猜你喜欢
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-26
    相关资源
    最近更新 更多