我遇到了一个编译问题,在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);
}
}