我遇到了一个编译问题,在Video类中没有构造函数,我不太明白这个消息的意思,因为我清楚地定义了默认构造函数,但编译器就像看不到它一样。

确切的错误消息是:MyMain.java:18: error: no suitable constructor found for Video(no arguments)

Video v = new Video();

^

constructor Video.Video(Video) is not applicable

(actual and formal argument lists differ in length)

constructor Video.Video(String,int,Support,String[]) is not applicable

(actual and formal argument lists differ in length)

1 error

这是有问题的类。import java.util.Vector;

public class Video {

public String title;

public int annee;

public Support support;

public Vector acteurs;

Video(){

title ="E.T.";

annee = 1982;

support = Support.DVD;

acteurs = new Vector();

acteurs.add("Drew B.");

}

Video(Video v){

title = v.title;

annee = v.annee;

support = v.support;

}

Video(String _title, int _annee, Support _sup, String[] _acteurs){

title = _title;

annee = _annee;

support = _sup;

acteurs = new Vector();

for(int i = 0; i < _acteurs.length; i++){

acteurs.add(_acteurs[i]);

}

}

}

和我的main构造函数import td8.Video;

public class MyMain {

static private void displayVideo(Video v){

Enumeration enu = v.acteurs.elements();

System.out.print(v.title+" de"+ v.annee +", avec");

while(enu.hasMoreElements()){

System.out.print(enu.nextElement() +",");

}

System.out.print("disponible en"+v.support);

}

static public void main(String[] args){

Video v = new Video();

displayVideo(v);

}

}

Logo

一站式 AI 云服务平台

更多推荐