我有一个类LogAnalyzer()
,我想更改构造函数,因此可以使用类LogfileReader
的实例。然后,LogAnalyzer
类将对此实例进行分析。
以下是构造函数的代码:
public LogAnalyzer()
{
// Create the array object to hold the hourly
// access counts.
hourCounts = new int[24];
// Create the reader to obtain the data.
reader = new LogfileReader();
}
以下是LogAnalyzer
类的字段:
// Where to calculate the hourly access counts.
private int[] hourCounts;
// Use a LogfileReader to access the data.
private LogfileReader reader;
我该怎么办?
答案 0 :(得分:0)
构造函数也可能有参数。
public LogAnalyzer(LogfileReader r){
this.reader = r;
//insert code here
}
答案 1 :(得分:0)
试试这个:
public class LogAnalyzer() {
private int[]hourCounts;
private LogfileReader reader;
// version that accepts LogFileReader
public LogAnalyzer(LogfileReader r){
hourCounts=new int[24];
reader=r; // use the passed LogfileReader object, instead of creating one
}
// no-argument version
public LogAnalyzer(){
hourCounts=new int[24];
reader=new LogfileReader();
}
}
当你引入一个带参数的构造函数时,你会失去隐式的无参数构造函数,所以最好也创建它。