A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.util.Calendar;

Calendar c = Calendar.getInstance();  

  1. public static Calendar getInstance(TimeZone zone,
  2.                                        Locale aLocale)
  3.     {
  4.         return createCalendar(zone, aLocale);
  5.     }

  6.     private static Calendar createCalendar(TimeZone zone,
  7.                                            Locale aLocale)
  8.     {
  9.         Calendar cal = null;

  10.         String caltype = aLocale.getUnicodeLocaleType("ca");
  11.         if (caltype == null) {
  12.             // Calendar type is not specified.
  13.             // If the specified locale is a Thai locale,
  14.             // returns a BuddhistCalendar instance.
  15.             if ("th".equals(aLocale.getLanguage())
  16.                     && ("TH".equals(aLocale.getCountry()))) {
  17.                 cal = new BuddhistCalendar(zone, aLocale);
  18.             } else {
  19.                 cal = new GregorianCalendar(zone, aLocale);
  20.             }
  21.         } else if (caltype.equals("japanese")) {
  22.             cal = new JapaneseImperialCalendar(zone, aLocale);
  23.         } else if (caltype.equals("buddhist")) {
  24.             cal = new BuddhistCalendar(zone, aLocale);
  25.         } else {
  26.             // Unsupported calendar type.
  27.             // Use Gregorian calendar as a fallback.
  28.             cal = new GregorianCalendar(zone, aLocale);
  29.         }

  30.         return cal;
  31.     }
复制代码
我们在使用Calendar的时候导入了,java.util.Calendar;这个类  但是没有导入java.util.GregorianCalendar;这个类, 但是我们可以创建它的对象。
没有子类的类,我们可以创建它的对象么。
这时为什么呢,还是说,我们导入java.util.Calendar;  这个下面就包括了java.util.GregorianCalendar;

希望坛友能够给予解惑。


3 个回复

倒序浏览
你确认没有引入这个类就直接使用了???粘的这些代码体现不出来啊
回复 使用道具 举报
本帖最后由 jacoblx 于 2015-1-2 05:04 编辑

就在你粘的这段代码的class文件是属于java.util包里的,调用同包下的GregorianCalendar不用导包
你自己的类是通过Calendar的工厂方法来创建GregorianCalendar对象的,也就是说通过Calendar的方法,这个方法是在java.util.Calendar中定义的,而Calendar中使用GregorianCalendar不需要导包(因为在同一个包下)。


如果你需要直接new GregorianCalendar对象,则必须导入GregorianCalendar包。

点评

学习了 多谢解答  发表于 2015-1-2 07:42
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马