下面的java问题在哪啊,找不出来,错误信息如下:::

来源:百度知道 编辑:UC知道 时间:2024/05/29 20:56:21
public class TestBirthday{
public static void main(String[] args){
Birthday obj=new Birthday(1990,11,12);
System.out.println(obj.toString());
String str=obj.setYear(1988).setMonth(8).setDay(28).toString();
System.out.println(str);
}
}

public class Birthday{
private int year,month,day;
public Birthday(){
}
public Birthday(int year){
this();
this.year=year;
}
public Birthday(int year,int month){
this(year);
this.month=month;
}
public Birthday(int year,int month,int day){
this(year,month);
this.day=day;
}
public String toString(){
return"出生年月:"+year+"年"+month+"月"+day+"日";
}
public Birthday setYear(int year){
this.year=year;
return this;
}

TestBirthday和Birthday如果是在一个JAVA文件中,那么Birthday就不要声明为public的.
而是把JAVA文件名改成含有MAIN方法的那个类名,也就是TestBirthday.

一个文件里,只能有一个类是public的,而且文件名,和这个public的类名相同,你保留那个和你文件名相同的类为public的,另外一个去掉public

把 声明Birthday 类的public去掉

一个类文件中只能有一个类是public修饰的

同意楼上观点,将Birthday类的public去掉即可