我有:
/*
* File: NameSurferEntry.java
* --------------------------
* This class represents a single entry in the database. Each
* NameSurferEntry contains a name and a list giving the popularity
* of that name for each decade stretching back to 1900.
*/
import acm.util.*;
import java.util.*;
public class NameSurferEntry implements NameSurferConstants {
/* Constructor: NameSurferEntry(line) */
/**
* Creates a new NameSurferEntry from a data line as it appears
* in the data file. Each line begins with the name, which is
* followed by integers giving the rank of that name for each
* decade.
*/
public NameSurferEntry(String line) {
findName(line);
findDecades(line);
}
...
作为一个班级。
如何从另一个类中调用NameSurferEntry方法。
答案 0 :(得分:3)
NameSurferEntry是构造函数,而不是方法。创建非默认构造函数将隐藏默认的空构造函数。所以
// asume line to be a string containing a line
NameSurferEntry entry = new NameSurferEntry(line);
将是创建NameSurferEntry对象的唯一方法。
答案 1 :(得分:2)
此方法是构造函数 - 在您创建新的NameSurferEntry
对象并传递String
时会调用它。你会这样称呼它:
NameSurferEntry entry = new NameSurferEntry("some string");
你可以告诉它是一个构造函数,因为返回类型与类名相同,并且没有方法名。只有在您创建新NameSurferEntry
时才可以调用。
答案 2 :(得分:1)
NameSurferEntry是该类的构造函数,这意味着每次使用 new 运算符创建NameSurferEntry的新实例时都会调用它。没有其他方法可以调用此方法。
答案 3 :(得分:1)
NameSurferEntry是类的构造函数,所以你可以这样做:
NameSurferEntry myObject = new NameSurferEntry("value");
答案 4 :(得分:0)
这是一个构造函数。你可以用以下形式来称呼它:
NameSurferEntry newEntry = new NameSurferEntry("string goes here.");
答案 5 :(得分:0)
以前道歉。我在构造函数中看到了一个虚幻的空洞。正如其他人所指出的那样,它应该是
NameSurferEntry nsf = new NameSurferEntry(line);
答案 6 :(得分:0)
也可以从另一个构造函数调用构造函数。 另见这个答案:How do I call one constructor from another in Java?
而且,如果你继承了你的类,你可以通过a从子类中的构造函数调用它 致电 super()。