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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

求大神讲讲

评分

参与人数 2技术分 +1 黑马币 +3 收起 理由
滔哥 + 1
FFF + 3 神马都是浮云

查看全部评分

5 个回复

倒序浏览
不能直接new。
获得对象是用类中的静态方法。

个人认为是调用子类实例化的。

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
残梦共飞雪 发表于 2014-2-8 16:13
不能直接new。
获得对象是用类中的静态方法。

查了下API。
直属子类有且只有一个:GregorianCalendar
此类提供大多数国家、地区使用的标准日历系统。
Calendar类的getInstance提供的参数可以满足子类构造。

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 赞一个!

查看全部评分

回复 使用道具 举报
残梦共飞雪 发表于 2014-2-8 16:13
不能直接new。
获得对象是用类中的静态方法。

谢谢哈,看了源码果然是通过子类实例化的
回复 使用道具 举报
//Calendar虽然是一个抽象类,但是可以通过其实现子类来获得子类对象,让子类对象完成Calendar所
//具有的有功能,使用Calendar对象调用时,实际上是使用子类的对象进行调用。抽象类的构造方法和
//普通方法只不过是为了子类扩展方便罢了
package er;
import java.io.*;
public class qer
{
    public static void main(String[] args)
    {
       Fun fun = Fun.getIntentce();
       System.out.println(fun.get());
    }
}
abstract class Fun
{
    protected Fun()
    {
       System.out.println("Fun");
    }
    public static Fun getIntentce()
    {
       return Son.getIntentce();
    }
    public int get()
    {
       return Son.getIntentce().get();
    }
}
class Son extends Fun
{
    private static Son s = new Son();
    private int age = 410;
    private Son()
    {
       System.out.println("son");
    }
    public static Fun getIntentce()
    {
       return s;
    }  
    public int get()
    {
       return age;
    }
}

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
通过子类实例化  。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马