调用静态方法的实例

2024-01-12

再会!

我有点困惑。我想使用日历,所以我在互联网上搜索它并遇到以下代码:

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

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

Calendar.getlnstance();

如果调用的方法是静态的,为什么我可以获得日历(抽象类)的实例?

我真的很想了解它。所以下次我也可以创建一个可以创建实例的静态方法。

谢谢。


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

return new SomeCalendar(now);

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调用静态方法的实例 的相关文章

随机推荐

  • 更改 Windows DLL 加载顺序? (加载顺序,不是搜索顺序)

    假设我有一个可执行文件 app exe 我在此可执行文件中使用 2 个不同的第 3 方 DLL foo dll bar dll并且应用程序必须隐式链接到这些 DLL 也就是说我不能使用 LoadLibrary加载它们 注 并不是说我不能打电
  • SQL Server - 是否有一种排序规则可以提供数字的自然顺序?

    我正在使用 SQL Server 2008 我有一个带有 type 列的表VarChar 它当前填充了实际代表数字的字符串 不幸的是 该列必须保留VarChar 1 2 1000 我希望查询该字段的最大数值 但由于这是一个VarChar我得
  • 使用属性过滤 Django-sphinx 结果?

    我正在经历 django sphinx文档 http code google com p django sphinx 看起来它允许您使用过滤搜索结果属性 queryset MyModel search query query results
  • Spring boot数据jpa多个数据源entityManagerFactory错误

    我想在 Spring Boot 中使用两个数据库 这里是代码 第一个数据库配置 Configuration EnableAutoConfiguration EnableJpaRepositories basePackages net ely
  • php echo 输出顺序变化

    希望这是一个简单的修复 出于某种原因 当我运行它时 我正在运行 WordPress 并使用高级自定义字段插件 echo Tickets Start at CA the field price 我得到这个输出 50Tickets Start
  • Caffe 中的批处理模式 - 没有性能提升

    继这个线程 https stackoverflow com q 32504394 1103412我重新实现了图像处理代码 以便一次发送 10 张图像 即我现在将输入 blob 的 num 属性设置为 100 而不是 10 然而 处理这批货所
  • Pandas:如果关键字出现在任何列中,则选择行

    我知道有一个关于在一列中搜索字符串的相关线程 here https stackoverflow com questions 27975069 how to filter rows containing a string pattern fr
  • Tensorflow:无法创建会话

    当我运行我的代码时出现错误 错误是 tensorflow python framework errors impl InternalError 无法创建会话 这是我的代码 coding utf 8 import import checkpo
  • 如何放松到 SwiftUI 中的 MainView

    我找不到从 ViewB 转到 ContentView 而不显示第二个的方法NavigationView在另一个之上NavigationView struct ContentView View var body some View Navig
  • 数据表中的 masterCheckbox

    我正在尝试将 masterCheckbox 添加到 webix 数据表项目中 现在 我得到以下行为 当我单击主复选框时 值重写为 1 或 0 id title checkValue on uncheckValue off template
  • 如何在 Node Express 应用程序中传递对象?

    我正在使用express和node postgres构建一个节点应用程序 https github com brianc node postgres https github com brianc node postgres 我只想构建一次
  • 如何使用订阅者选项?

    我现在开始使用 Pubsubhubbub 以及所有关于实时的东西 但我在使用订阅者选项时遇到了问题 我正在尝试用 PHP 开发一个网络应用程序 订阅 RSS 之前发布的 到 Hub http pubsubhubbub appspot com
  • object() == object() 保证为 False 吗?

    假设我创建了两个类的实例object 这两个实例是否保证彼此不相等 换句话说 就是object object 保证是False 还是依赖于实现 我明白那个object is object 保证是False 但我在这里问的是object ob
  • K-means 仅使用特定数据帧列与 scikit-learn

    我正在使用k means算法从scikit learn库 我想要聚类的值位于具有 3 列的 pandas 数据框中 ID value 1 and value 2 我想使用以下方法对信息进行聚类value 1 and value 2 但我也想
  • 如何在 16 位 x86 实模式下通过 BIOS 访问 USB 端口?

    我是装配世界的新手 我正在尝试编写一些汇编代码来与串行 并行 VGA 键盘等硬件设备进行通信 我在 x86 intel 处理器的实模式下执行此操作 通过从我亲自编写的用于加载汇编代码的 boostrap 启动我的代码 嗯 根据我从阅读教程中
  • std::string::c_str 和 std::string::data 之间有什么区别? [复制]

    这个问题在这里已经有答案了 为什么我想打电话std string data http www cppreference com wiki string data over std string c str http www cpprefer
  • 在 OS X 中安装 Mono Framework 的正确方法

    在已经安装了旧版本 例如 2 10 4 的情况下 是否有正确的方法来安装新版本的 Mono 例如 2 10 5 可以遵循哪条路 卸载旧版本 然后安装新版本 用新版本覆盖旧版本 先感谢您 只需安装即可 不用担心 框架支持多个版本 您最终将获得
  • React JS 在另一个组件中引用函数

    我试图获取通过另一个组件呈现的按钮来引用和 或影响不同组件的状态 var Inputs React createClass getInitialState function return count 1 add function this
  • 将 Facebook 登录添加到 ionic 应用程序

    我也是 Angular 和 Ionic 的新手 尝试了以下教程 https www sitepoint com how to integrate facebook login into a cordova based app https w
  • 调用静态方法的实例

    再会 我有点困惑 我想使用日历 所以我在互联网上搜索它并遇到以下代码 Ca1endar c Calendar getlnstance c set 2011 2 5 1 25 但我了解到这是一个静态方法 Calendar getlnstanc