无法使用java中的参数化构造函数实例化对象

时间:2017-07-21 05:25:29

标签: java constructor compiler-errors

这是我要实例化的课程:

public class GoogleSheetsAPI {

String spreadsheetId;
Sheets service;
String credentialsFile;

public void GoogleSheetsAPI() {
}

public void GoogleSheetsAPI(String spreadsheetId, String credentialsFile) throws Exception {
    this.spreadsheetId = spreadsheetId;
    this.credentialsFile = credentialsFile;
    service = getSheetsService();
}

}

这就是我创建类 GoogleSheetsAPI

的对象的方法
GoogleSheetsAPI googleSheetsAPI = new GoogleSheetsAPI(spreadsheetId, credentiialsFile);

enter image description here

3 个答案:

答案 0 :(得分:1)

构造函数不能有void,它应该是:

public GoogleSheetsAPI(String spreadsheetId, String credentialsFile) throws Exception {
    this.spreadsheetId = spreadsheetId;
    this.credentialsFile = credentialsFile;
    service = getSheetsService();
}

答案 1 :(得分:0)

构造函数没有任何返回类型...因为是一个特殊的方法,如果你定义自己的构造函数然后没有定义空构造函数,因为jvm提供了默认...

答案 2 :(得分:-1)

Class.newInstance调用no-arg构造函数

Class<?> cl = Class.forName("javax.swing.JLabel");
Constructor<?> cons = cl.getConstructor(String.class);

对象o = cons.newInstance(&#34; JLabel&#34;);

要调用不同的构造函数,需要使用反射包(java.lang.reflect)。