当前位置: 首页 > 知识库问答 >
问题:

不带getter的Kotlin构造函数参数

冯澄邈
2023-03-14

我有以下代码:

class ViewHolder(itemView: View, val ui: ViewUI)

我不希望字段ui有一个getter,但是kotlin在默认情况下会生成它,因为它是构造函数中定义的val。

在properties and fields文档中,我发现我可以用以下代码生成一个私有getter

var setterVisibility: String = "abc"
    private set

但我在构造函数定义中找不到这样做的方法

共有1个答案

暴奕
2023-03-14

您可以在构造函数中将整个属性设置为私有,这样它只能在类中访问:

class ViewHolder(itemView: View, private val ui: ViewUI)
 类似资料:
  • 我使用的是jdk8,需要创建一个以类名作为构造函数参数的Spring组件。但是,使用我当前的代码,我遇到了运行时错误: 这是我的博客类: 这就是我尝试创建类的方式: 我可以了解一下创建该组件的正确方法/这里出了什么问题吗?提前感谢。

  • 问题内容: 运行以下代码时出现错误: 输出为: 有什么问题? 问题答案: 该方法应命名为构造函数,而不是。(请注意双下划线。) 如果使用单个下划线,则只需创建一个名为的方法,然后获取一个不带参数的默认构造函数。

  • 我是新手。我想在Person类驱动的Employee类中添加age参数。我怎么能在科特林做到?! 我的错误是这样的: 为什么不能在员工构造函数中使用var或val?!我犯了什么错误?

  • 当创建一个流行的片段时,我得到一个空的构造函数错误。 请看看我写的代码,创建碎片时如何传递数据?

  • 我不明白为什么一个实体没有参数的构造函数被调用时,提供一个请求体?如果我删除它和唯一存在的构造函数是一个接收参数,我得到预期的输出打印,但我必须实现一个没有参数的构造函数,以保存在数据库中的实体。 以下是路径:注释空构造函数时,新实例的值与请求json体匹配 这是实体类:

  • 对于我的Java应用程序,我尝试使用ScalaCheck编写一些基于属性的单元测试。为此,我需要生成器,但我能找到的所有教程都使用带有参数的构造函数来生成对象。我需要生成的对象没有构造函数参数,我无法添加这样的构造函数,因为它来自外部库。 我现在有以下内容(Jwt声明来自软件包组织.jose4j.jwt): 关于如何编写我的生成器,有什么建议吗?我对Scala一无所知,所以如果我犯了一个“明显”的