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

java-构造函数和方法冗余

方永贞
2023-03-14

我是Java的新手,正在处理一个家庭作业问题。该问题指定使用一个构造函数创建一个Temperature类,该构造函数接受华氏温度(作为double)并将其存储在ftemp字段中。setFahrenheit方法接受一个华氏温度(以双倍数形式),并将其存储在ftemp字段中。

这在我看来是多余的。setFahrenheit方法不是和构造函数完全一样吗?

共有1个答案

夹谷沛
2023-03-14

没有。如果温度改变了会发生什么?您不能创建一个新的Temperature类,因为这意味着您要创建一个全新的对象。setFarenheit()允许您更改特定类中的温度。

这里有另一个更好的例子:假设您有一个名为Person的类,并在构造函数中传递该人的年龄。您应该在类中有一个setAge()方法,因为这个人最终会变老,如果您只是为了更改他/她的年龄而创建一个该人的副本,那么效率会很低。

 类似资料:
  • 问题内容: 什么时候应该使用构造函数,什么时候应该使用静态方法? 您能用小片段解释一下吗?我略读了一些线程,但是我仍然不清楚。 问题答案: 当您只想返回该类型的新对象并且希望简单时,请使用公共构造函数。 一个很好的例子是StringBuilder,因为它是可变的,您可能每次都想要一个新对象。 当您可能想重用对象(尤其是不可变的对象),返回子类或描述结构时,请使用静态因子方法。一个很好的例子是Enu

  • Kotlin中的参数与Java中有些不同。如你所见,我们先写参数的名字再写它的类型: fun add(x: Int, y: Int) : Int { return x + y } 我们可以给参数指定一个默认值使得它们变得可选,这是非常有帮助的。这里有一个例子,在Activity中创建了一个函数用来toast一段信息: fun toast(message: String, length: I

  • 我有以下课程: 该类包含两个可选值,我想提供所有可能的构造函数排列。第一个版本不初始化任何内容,第二个版本只初始化第一个值,第三个版本只初始化第二个值。 最后一个构造函数是第二个和第三个构造函数的组合。但这是不可能写下来的,因为代码失败了。 是否可以在没有任何代码冗余的情况下(也不调用相同的setter方法)编写最后一个构造函数?

  • 问题内容: 对不起任何较小的语法错误或其他错误,我正在使用Jitsi模块进行此操作,并且对Java不太熟悉,因此想确认正在发生的事情以及为什么以及如何对其进行修复。 使用按名称加载类方法创建类B的实例时,应用程序正在执行此操作: 在类B中调用重写的load() 初始化变量(根据调试器调用“私有字符串testString = null”),将其无效。 这是预期的Java行为吗?是什么原因造成的?它是

  • 我刚刚开始用Java编程。在讨论方法和构造函数时,我们使用的文本是缺乏的。我不确定方法或构造函数到底是什么,也不确定是什么让它们独一无二。有人能帮我定义它们并区分两者吗?

  • 本文向大家介绍Java构造函数,包括了Java构造函数的使用技巧和注意事项,需要的朋友参考一下 构造函数与方法相似,但在以下方面有所不同。 它们没有任何返回类型。 构造函数的名称与类的名称相同。 每个类都有一个构造函数。如果我们未为类明确编写构造函数,则Java编译器将为该类建立默认构造函数。 每次创建一个新对象时,将至少调用一个构造函数。 一个类可以具有多个构造函数。 示例 输出结果