gpt4 book ai didi

kotlin - 在 Kotlin 中创建私有(private)内部类的公共(public)实例

转载 作者:行者123 更新时间:2023-12-02 13:06:40 30 4
gpt4 key购买 nike

为什么与 Java 不同,Kotlin 不允许创建私有(private)内部类的公共(public)实例?

在 Java 中工作:

public class Test {
public A a = new A();

private class A {
}
}

在 Kotlin 中不起作用(A 类必须是 public):

class Test {
var a = A()
// ^
// 'public' property exposes its private type 'A'

private inner class A
}

最佳答案

我之所以这么认为,是因为实际上没有一种情况表明这样做是正确的。任何访问属性 a 的代码都无法访问其类型。您无法将其分配给变量。 Test 类之外的 Test.A myVar 声明将会出错。如果不允许,代码将被迫更加一致。更好的问题是为什么 Java 会允许这样做?其他语言,例如 swift,也有相同的限制。

关于kotlin - 在 Kotlin 中创建私有(private)内部类的公共(public)实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40923843/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com