关于调用一个类的方法生成对象的有关问题?
关于调用一个类的方法生成对象的问题??
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() 代码:
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;
}
}