首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于调用一个类的方法生成对象的有关问题?

2012-09-19 
关于调用一个类的方法生成对象的问题??Calendar aCalendar.getInstance()这一句首先通过抽象类Calendar

关于调用一个类的方法生成对象的问题??
Calendar a=Calendar.getInstance();这一句首先通过抽象类Calendar调用它的方法来生成一个Calendar的子类,然后把这个子类赋值给父类的引用。我想自己编写一个来运行一下,下面是我已经编写的,但不知道下面这个方法应该怎么写,关于Calendar的API文档也没看懂,求高手,帮我写一下!!!!  


package com.wan;

abstract class wan{

  private int a;
private static wan wan=null;
  public abstract void hh();
public static wan getA(){
...//这里应该怎么写
return wan;
}
public int getSum(int t,int h){
a=t+h;
return a;
}
}
public class VideoText{
public static void main(String[] args){
wan a=wan.getA();
System.out.println(a.getSum(2, 3));

}
}

[解决办法]
Calendar类的getInstance() 代码:

Java code
  public static Calendar getInstance()    {        Calendar cal = createCalendar(TimeZone.getDefaultRef(), Locale.getDefault(Locale.Category.FORMAT));        cal.sharedZone = true;        return cal;    }  public static Calendar getInstance(TimeZone zone,                                       Locale aLocale)    {        return createCalendar(zone, aLocale);    }    public static Calendar getInstance(TimeZone zone)    {        return createCalendar(zone, Locale.getDefault(Locale.Category.FORMAT));    }    public static Calendar getInstance(Locale aLocale)    {        Calendar cal = createCalendar(TimeZone.getDefaultRef(), aLocale);        cal.sharedZone = true;        return cal;    }    private static Calendar createCalendar(TimeZone zone,                                           Locale aLocale)    {        Calendar cal = null;        String caltype = aLocale.getUnicodeLocaleType("ca");        if (caltype == null) {            // Calendar type is not specified.            // If the specified locale is a Thai locale,            // returns a BuddhistCalendar instance.            if ("th".equals(aLocale.getLanguage())                    && ("TH".equals(aLocale.getCountry()))) {                cal = new BuddhistCalendar(zone, aLocale);            } else {                cal = new GregorianCalendar(zone, aLocale);            }        } else if (caltype.equals("japanese")) {            cal = new JapaneseImperialCalendar(zone, aLocale);        } else if (caltype.equals("buddhist")) {            cal = new BuddhistCalendar(zone, aLocale);        } else {            // Unsupported calendar type.            // Use Gregorian calendar as a fallback.            cal = new GregorianCalendar(zone, aLocale);        }        return cal;    }
[解决办法]
class A{
private static A a=null; //创建本对象的引用,私有,不可以直接调用
private A(){} //创建私有的构造方法,不可以直接调用初始化类
public static A getA(){ //初始化类的方法
if(a==null){ //如果a还没有初始化,就初始化该类
a=new A();
}
return a;

}

热点排行