在myeclipse上编辑如下代码,一个简单的调用GregorianCalendar类的实例,居然碰到不同的问题;
首先:
import java.util.*;
public class GregorianCalendar {
public static void main(String[] args) {
GregorianCalendar gc=new GregorianCalendar();
int X=gc.get(Calendar.MONTH);
System.out.println(X);
}
}
上面的代码会在get()上出现错误提示,提示信息为:The method get(int) is undefined for the type GregorianCalendar
采用myeclipse出现的建议修改信息,“Create Method 'get(int)' ”,代码为:
import java.util.*;
public class GregorianCalendar {
public static void main(String[] args) {
GregorianCalendar gc=new GregorianCalendar();
int X=gc.get(Calendar.MONTH);
System.out.println(X);
}
private int get(int month) {
// TODO Auto-generated method stub
return 0;
}
}
保存后运行,返回结果为0,得到的是错误的返回结果。
百度后,采用网上的建议:加注包名以区分,问题得以解决;
import java.util.*;
public class GregorianCalendar {
public static void main(String[] args) {
java.util.GregorianCalendar gc=new java.util.GregorianCalendar();
int X=gc.get(Calendar.MONTH);
System.out.println(X);
}
}
网上另一种比较多的意见是,自定义的类名跟GregorianCalendar类的类名重复了,所以报错,可修改了自定义类名后,get()仍报错。修改后的代码为:
import java.util.*;
public class GregorianCalendarDemo {
public static void main(String[] args) {
GregorianCalendar gc=new GregorianCalendar();
int x=gc.get(Calendar.MONTH);
System.out.println(x);
}
}