为什么我从类中尝试创建另一个调用其构造函数的类的新实例时会收到此错误消息?

时间:2015-06-09 13:12:06

标签: java constructor

我在尝试用Java创建新对象时遇到此问题。

所以我有一个名为 TestLoadFatturePa 的“测试”类,这一个:

package it.sistinf.ediwea.fepa;

import java.util.Vector;

public class TestLoadFatturePa {

    /**
     * Avvia l'applicazione.
     * @param args un array di argomenti della riga comandi
     */
    public static void main(java.lang.String[] args) {

        //Massivo2DB db = new Massivo2DB();
        LoadFatturePa loadFatturePa = LoadFatturePa();
        String fileFatturePa = "C:\\Users\\Andrea\\Desktop\\D150316.T1642.zip";
        Vector parametri = new Vector();
        parametri.add(fileFatturePa);
        loadFatturePad.run(parametri);
    }

}

正如您在本课程中所看到的,我通过以下行创建了一个类型为 LoadFatturePa 的新对象:

LoadFatturePa loadFatturePa = LoadFatturePa();

这是** LoadFatturePa *的代码:

package it.sistinf.ediwea.fepa;

import it.sistinf.ediweb.XMLConvert.Massivo2DB;
import it.sistinf.ediweb.tracelog.TraceLog;

import java.util.Vector;

public class LoadFatturePa extends Massivo2DB {

    public LoadFatturePa() {
        super();
    }

    // Metodo run() che non prende parametri di input: logga un errore
    public void run() {
        TraceLog.scrivi("Test Esistenza Parametri", "Parametri mancanti", false, TraceLog.lowConsole + TraceLog.highTrace + TraceLog.highLog);
        target.azione("Parametri mancanti !!");
        return;
    }

    /*
     *  @param Vector parametri: rappresenta l'array di parametri che in questo caso contiene solo un elemento String rappresentante il path del
     *                           file .zip da scompattare e al cui interno reperire il file testuale contenente l'XML di tutte le fatture
     */
    public void run(Vector parametri) {

    }

}

正如您在本课程中所看到的,我已经定义了只执行 super()的构造函数。

问题是,当我尝试创建新的 LoadFatturePa 对象时,进入 TestLoadFatturePa 类会出现错误,实际上是这一行:

LoadFatturePa loadFatturePa = LoadFatturePa();

它给我这个错误信息:

  

对于TestLoadFatturePa类型,未定义LoadFatturePa()方法

为什么呢?我错过了什么?

3 个答案:

答案 0 :(得分:2)

替换

LoadFatturePa loadFatturePa = LoadFatturePa();

LoadFatturePa loadFatturePa = new LoadFatturePa();

答案 1 :(得分:1)

添加新行应该有效:

LoadFatturePa loadFatturePa = new LoadFatturePa();

答案 2 :(得分:1)

你的问题在这一行:

LoadFatturePa loadFatturePa = LoadFatturePa();

当你在没有“new”关键字的情况下调用LoadFatturePa()时,Java认为这是一个内部函数。

替换该行
LoadFatturePa loadFatturePa = new LoadFatturePa();