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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在Java API中,有许多的抽象类,要使用它们提供的方法,一般需要创建一个它的子类,通过子类来调用父类的方法。然而也有一些抽象类提供了一些特殊的静态方法,这些静态方法的返回值类型是该类的对象,因此我们就可以直接通过类名调用这种静态方法,并将其赋值给抽象类本身的一个引用。这样就等同于将子类对象赋值给父类引用,即多态。然后我们就可以使用这个父类引用来调用它的方法,免去了自己创建子类的步骤,创建子类的过程已经由它的静态方法在底层代码中完成。
例如,抽象类Calendar中的静态方法static Calendar getInstance()等
我们可以用如下方式调用其中一个方法
Calendar c = Calendar.getInstance();
int i = c.getMinimalDaysInFistWeek();
System.out.println(i);


未命名图片.png (118.48 KB, 下载次数: 0)

抽象类Calendar中的静态方法

抽象类Calendar中的静态方法

未命名图片1.png (119.86 KB, 下载次数: 0)

getInstance()方法的一部分底层代码,可以看到它根据条件创建了不同的子类对象 ...

getInstance()方法的一部分底层代码,可以看到它根据条件创建了不同的子类对象 ...

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马