Tag: 能见度

如何检查Android中软件键盘的可见性?

我需要做一个非常简单的事情 – 找出是否显示软件键盘。 这是可能的Android?

Kotlin:为什么构造函数参数默认具有“内部”可见性?

如果我们有一个班级: class Customer(val customerName: String) { } 它的构造参数customerName可以通过getCustomerName()来访问(因为它也是一个属性)。 如果我们想限制访问这个属性,我们应该声明它是private 。 由于在很多情况下来自Java世界(如果一个类不打算成为数据类),那么从构造函数参数中分配的字段是用于私有/保护使用的,这感觉就像在Kotlin中明确声明它们是private的。 另外,Kotlin类是默认的最终的,所以为什么不遵循这个原则的属性? 我错过了什么吗?

包在kotlin保护替代

在java中,我们使用了包(protected)作为默认的修饰符,它允许在一个包中包含许多类,但只公开很少的类并保持逻辑封装。 与kotlin似乎并非如此,如果我想有几个其他类应该是彼此可见,但不能进一步我不得不使用私人修改,这限制了一个文件的可见性…所以基本上,如果你有10在一个包中的类,只有其中的一个是公开的,现在你将拥有一个包含所有类的庞大文件(并且在整个地方都是private的)。 这是正常的做法还是有一种方法来实现kotlin中的一些类似的模块化? 我不明白他们是否有包的概念为什么他们摆脱包保护访问…

Kotlin内部可见性修改器的范围

我有一个理解内部访问修饰符的问题。 在我的例子中,我不能产生任何与公众不同的情况。 即使我创建了一个罐子,我也可以从罐子外部(从与罐子中使用的不相关的一个不同的包装)访问罐子内部的功能。 在文档中使用术语模块,但我无法找出模块是什么。 我的问题是: kotlin中的模块是什么? 访问修饰符内部与公共修饰符有什么不同?