gpt4 book ai didi

java - 构造函数可以像方法一样执行操作吗?

转载 作者:行者123 更新时间:2023-11-30 06:55:13 24 4
gpt4 key购买 nike

我正在做作业,但我真的被这个问题困住了。我们被告知要创建一个构造函数,该构造函数接受一个字符串参数,将其转换为小写,并将其拆分为单独的单词。然后为文档编制索引(就像在搜索引擎中一样)。这个任务旨在让我们知道一点关于搜索引擎的工作原理。

我一直使用方法来执行此类操作,但现在的问题是要求在 constructor 中执行此操作。我尝试了几次,但没有用。作业还要求将不同的单词(在我将它们拆分到 constructor 之后)存储在一个名为“Terms”的数组中,该数组还存储单词的频率。问题的另一部分是要求创建一个方法 indexContent 来填充 适当 大小的术语数组。

我希望这三个信息有某种关联,但我不知道。我需要帮助,尤其是在创建我提到的这样的 constructor 方面。我什至不知道 constructors 可以执行类似 method 的操作。我认为 constructors 是为了实例化对象而创建的,而 methods 是用来调用和执行操作的。请人解释。

最佳答案

是的。 Constructor 可以作为方法完成所有事情。实际上,构造函数是一种隐式返回其类类型的方法。

例如:

// constructor in fact is return its class type
People a = new People("StackoverFlow");

constructor中有一些限制,例如在某些情况下你必须调用parent的constructor,而不是method。

例如:

class Parent {
public Parent(String parentName) {}
}

class Child extends Parent {
public Child(String name) {
// must call parent constructor. unlike normal method
super(name);
// do some other fancy stuffs here
}
}

在您的作业中,伪代码将是:

class SearchEngine {
// keyword after turn into lower
private String lowerKeyword;

// words is splitted by above keyword
private String[] words;

public SearchEngine(String keyword) {
process(keyword);
}

private void process(String keyword) {
// convert keyword to lower case and assign to lowerKeywords
// convert keyword to separate words and assign to array words
// index document
}

// or you can process your code directly in constructor
public SearchEngine(String keyword, String someOtherParameter) {
// convert keyword to lower case and assign to lowerKeywords
// convert keyword to separate words and assign to array words
// index document
}
}

希望这有帮助:)

关于java - 构造函数可以像方法一样执行操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35532958/

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