比较简单20分。。 getInstance()获取的是一个Calendar的实例了, 估计是Calendar的某个实现吧,看看JDK的源代码应该可以了解 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 感谢楼上的朋友,,我是从其它语言转过来的,在DELPHI语言中,抽象类是不允许进行实例化的,我不知道JAVA中这个规矩是怎么回事,还向其它朋友请教了。 在Java中抽象类不能用构造函数来实例化,但可以用一些方法来返回一个实例.如Calendar是一个抽象类,不能用new Calendar()来得到一个实例,但可以用Calendar的getInstance()方法来得到Calendar的实例. JAVA也一样,抽象类不能用构造函数来实例化,但可获得 java.util.Calendar类的源码(1.4)getInstance()方法调用了Canlendar类的一个私有的静态方法createCalendar,private static Calendar createCalendar(TimeZone zone,Locale aLocale){ if (aLocale.getLanguage().compareTo("th") == 0) { if (aLocale.getCountry().compareTo("TH") == 0) { return new sun.util.BuddhistCalendar(zone, aLocale); } // else create the default calendar return new GregorianCalendar(zone, aLocale); }}可以看到在这个方法中new了一个sun.util.BuddhistCalendar或者是一个java.util.GregorianCalendar。所以抽象类Calendar没有被实例化,返回的是它的某个子类的实例。这应当是个FACTORY METHOD模式,给出接口,而封装了子类的实现 bradwoo8621() 说得对了。getInstance通常是sun提供的实现方法。 java.util.Calendar类的源码(1.4)getInstance()方法调用了Canlendar类的一个私有的静态方法createCalendar,private static Calendar createCalendar(TimeZone zone,Locale aLocale){ if (aLocale.getLanguage().compareTo("th") == 0) { if (aLocale.getCountry().compareTo("TH") == 0) { return new sun.util.BuddhistCalendar(zone, aLocale); } // else create the default calendar return new GregorianCalendar(zone, aLocale); }}可以看到在这个方法中new了一个sun.util.BuddhistCalendar或者是一个java.util.GregorianCalendar。所以抽象类Calendar没有被实例化,返回的是它的某个子类的实例。这应当是个FACTORY METHOD模式,给出接口,而封装了子类的实现 linux下安装mongodb 报错 约瑟夫环程序添加界面 急!在线等!-java 界面的图出不来,拉一下框架就出了! 小弟刚学编程 问一道JAVA编程题目.... 求一列整数中,出现次数最多的那个整数 子类对象引用问题 java笔试题目(帮忙回答以下) 怎么判断和得到当前输入光标所在的组件名字!并插字符串到光标处。 帮忙分析一下该程序执行结果为何?谢谢! SessionBean如何将一个结果集返回给客户端。 自己写的一堆class想弄成一个package,请问java对于package命名有什么规则么? 请问如何实现JAVA中鼠标右键事件?
如Calendar是一个抽象类,不能用new Calendar()来得到一个实例,
但可以用Calendar的getInstance()方法来得到Calendar的实例.
getInstance()方法调用了Canlendar类的一个私有的静态方法createCalendar,
private static Calendar createCalendar(TimeZone zone,Locale aLocale){
if (aLocale.getLanguage().compareTo("th") == 0) {
if (aLocale.getCountry().compareTo("TH") == 0) {
return new sun.util.BuddhistCalendar(zone, aLocale);
}
// else create the default calendar
return new GregorianCalendar(zone, aLocale);
}
}
可以看到在这个方法中new了一个sun.util.BuddhistCalendar或者是一个java.util.GregorianCalendar。所以抽象类Calendar没有被实例化,返回的是它的某个子类的实例。这应当是个FACTORY METHOD模式,给出接口,而封装了子类的实现
getInstance()方法调用了Canlendar类的一个私有的静态方法createCalendar,
private static Calendar createCalendar(TimeZone zone,Locale aLocale){
if (aLocale.getLanguage().compareTo("th") == 0) {
if (aLocale.getCountry().compareTo("TH") == 0) {
return new sun.util.BuddhistCalendar(zone, aLocale);
}
// else create the default calendar
return new GregorianCalendar(zone, aLocale);
}
}
可以看到在这个方法中new了一个sun.util.BuddhistCalendar或者是一个java.util.GregorianCalendar。所以抽象类Calendar没有被实例化,返回的是它的某个子类的实例。这应当是个FACTORY METHOD模式,给出接口,而封装了子类的实现