gpt4 book ai didi

java - 调用静态方法的实例

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:46:20 24 4
gpt4 key购买 nike

美好的一天!

我有点懵。我想用日历,于是在网上搜索了一下,遇到了如下代码:

Ca1endar c = Calendar.getlnstance();
c.set(2011,2, 5,1,25);

但是我了解到这是一个静态方法:

Calendar.getlnstance();

如果调用的方法是静态的,我怎么能得到日历的实例(抽象类)?

我很想明白。所以下次我也可以创建一个可以创建实例的静态方法。

谢谢。

最佳答案

这是静态工厂方法。这个想法是方法是调用构造函数的方法,它返回构造的对象。Calendar.getInstance() 的主体可能是这样的:

return new SomeCalendar(now);

其中 SomeCalender抽象类 Calendar 的具体实现。其中一些优点是:您不必关心底层类(据您所知它只是一个 Calendar),并且底层实现可以更改而不影响您(例如,代码可以更改为 return new AnotherCalendar() 并且您无需更改代码中的任何内容)

由于它是一个静态方法,您可以在类型本身 (Calendar.getInstance();) 上调用它,而不是在该类型的实例上调用它 (Calendar c = .. .; c.getInstance();).

关于java - 调用静态方法的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5201895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com