为什么我们在Java中实例化Calendar Class(abstract)

Jav*_*ent 4 java oop static

我是初学Java程序员,我一直在阅读有关Calendar类的内容.它是一个抽象类,它的所有方法都是静态的,但使用方法如下:

Calendar cal = Calendar.getInstance();
Run Code Online (Sandbox Code Playgroud)

您在哪里使用cal以下方法调用:

cal.setTimeinMillis(day1); 
Run Code Online (Sandbox Code Playgroud)

我对此感到困惑.在针对类调用方法时,为什么我们需要一个引用变量?这对静态方法来说是如何合法的?

Bhe*_*ung 8

Calendar cal = Calendar.getInstance();
Run Code Online (Sandbox Code Playgroud)

不是调用构造函数,它只是调用一个(静态)方法来返回某个子类(of Calendar)的实例.