当前位置: 首页 > 面试题库 >

Kotlin的静态内部类

范文昌
2023-03-14
问题内容

Inner static Class如果存在Kotlin语言,可以用什么替代方法?如果没有,当我需要static class在Kotlin中使用时如何解决此问题?请参见下面的代码示例:

 inner class GeoTask : AsyncTask<Util, Util, Unit>() {

    override fun doInBackground(vararg p0: Util?) {

        LocationUtil(this@DisplayMembers).startLocationUpdates()
    }
}

我搜索了很多东西,没有发现任何东西,非常感谢。


问题答案:

只需inner在Kotlin中省略。

内部类(持有对外部对象的引用)

Java:

class A {
    class B {
    ...
    }
}

科特林:

class A {
    inner class B {
    ...
    }
}

静态内部类又称为嵌套类(不引用外部对象)

Java:

class A {
    static class B {
    ...
    }
}

科特林:

class A {
    class B {
    ...
    }
}


 类似资料:
  • 静态内部类是指使用 static 修饰的内部类。示例代码如下: 上述示例中的 Inner 类就是静态内部类。静态内部类有如下特点。 1) 在创建静态内部类的实例时,不需要创建外部类的实例。 2) 静态内部类中可以定义静态成员和实例成员。外部类以外的其他类需要通过完整的类名访问静态内部类中的静态成员,如果要访问静态内部类中的实例成员,则需要通过静态内部类的实例。 3) 静态内部类可以直接访问外部类的

  • 问题内容: 在Scala中使用Java进行模拟的模拟方式是什么: 我特别希望我的内部类 不必 具有完全限定的名称-即,我不需要。因此,在Scala中,我想到的可能是这样的: 但这似乎不起作用:我的scala 似乎在课堂外都看不到。一种解决方案当然是: 这是确定-但因为我的课的名字,真是的“类型” 和实际上有一个很长的名字。所以: 这是冗长而可怕的。我可以替换为just,但是与它所关联的类之间没有明

  • 问题内容: 静态和非静态嵌套类有什么区别? 问题答案: 根据定义,内部类不能是静态的,因此我将重述您的问题为“静态和非静态嵌套类之间有什么区别?” 非静态嵌套类具有对其嵌套的类的成员的完全访问权。静态嵌套类没有对嵌套实例的引用,因此静态嵌套类无法调用非静态方法或访问嵌套该类的实例的非静态字段。

  • 我想使用Powermock(基于EasyMock)模拟私有静态内部类。这不是来自生产代码,这只是一个是否可能的问题。我很确定这是一个糟糕的设计,但这是我为科学而努力的东西。 假设我们有一个具有静态私有内部类的类: IExpectationSetters中的andReturn(capture)不能应用于(java.lang.Object)  私人静态内部阶级的嘲笑甚至可能吗?我还没有在SO上找到一个

  • 我想知道是否可以制作实现比较器接口的非静态内部类。 例如:。 我想使用比较器类非静态,因为我想使用非静态字段“num”并想修改它的值。有非静态比较器内部类可以吗? 附加信息 对于每个对象,我都在计算内部的分数,并进行相应的比较和排序。我需要将这些分数保存在我在comparator内计算的地图中,并希望在外部类中使用该地图进行进一步计算。