F:\java>javac Date3_ex.java
Date3_ex.java:1: class Date3 is public, should be declared in a file named Date3
.java
public class Date3 //类的封装
^
1 error
源程序如下:
class Date3 //类的封装
{
private int year,month,day; //成员变量,私有的
public Date3(int y,int m,int d)
{
year = y;
month = (((m>=1) & (m<=12)) ? m : 1);
day = (((d>=1) & (d<=31)) ? d : 1);
}
public int getyear() //成员方法,公有的
{
return year;
}
public boolean isleapyear()
{
return (year%400==0) | (year%100!=0) & (year%4==0);
}
public void print()
{
System.out.println("date is "+year+'-'+month+'-'+day);
}
}
public class Date3_ex //其他类
{
public static void main(String args[])
{
Date3 a = new Date3(2002,6,28) ;
a.print();
System.out.println(a.getyear()+" is a leap year,"+a.isleapyear());
}
}
Date3_ex.java:1: class Date3 is public, should be declared in a file named Date3
.java
public class Date3 //类的封装
^
1 error
源程序如下:
class Date3 //类的封装
{
private int year,month,day; //成员变量,私有的
public Date3(int y,int m,int d)
{
year = y;
month = (((m>=1) & (m<=12)) ? m : 1);
day = (((d>=1) & (d<=31)) ? d : 1);
}
public int getyear() //成员方法,公有的
{
return year;
}
public boolean isleapyear()
{
return (year%400==0) | (year%100!=0) & (year%4==0);
}
public void print()
{
System.out.println("date is "+year+'-'+month+'-'+day);
}
}
public class Date3_ex //其他类
{
public static void main(String args[])
{
Date3 a = new Date3(2002,6,28) ;
a.print();
System.out.println(a.getyear()+" is a leap year,"+a.isleapyear());
}
}
class名要和.java的文件名一样
Date3被定义成了public的文件名确是:Date3_ex.java但是下面的代码已经改成了class Date3
在我的机器上编译成功生成了两个.class文件
上看 应该没问题
包含main函数的类名和文件名一致
是public class Date3
还是class Date3如果写class Date3就对
写public class Date3就错这和机器没有关系