Java命名空间 - 两个在不同包中具有相同名称的类

 群-众-生-活 发布于 2023-02-08 12:09

我来自Objective-C,我们没有包和命名空间.

Android有android.text.format.DateFormat具有返回java.text.DateFormat中的实例(静态方法getLongDateFormat()getMediumDateFormat()具体).

    这些方法是否可以互换地称为"静态方法"或"类方法"?

    看看Android文档,我怎么想知道android.text.format.DateFormat方法返回一个java.text.DateFormat实例而不是android.text.format.DateFormat实例(返回后者的实例就是我最初的预期)?

    如何导入必要的包以便能够在我的源中使用这两个类?

    是否可以这样编写我的实现代码:

DateFormat df = DateFormat.getLongDateFormat(this.getActivity());
mLabel.setText(df.format(mEvent.getDate());

我写它的另一种方法是使用完整的包名,但这似乎是不必要的:

java.text.DateFormat df = android.text.format.DateFormat.getLongDateFormat(this.getActivity());
mLabel.setText(df.format(mEvent.getDate());

Palpatim.. 5

不知道为什么这是低估的,这是一个有用的讨论.

1)我一直听说它们被称为"静态方法".

2)看到它的唯一方法是关注链接.在这种情况下,文档肯定会产生误导.

3/4)在java中执行此操作的典型方法是不导入其中一个类,并完全限定其类名.因此,如果您选择导入java.text.DateFormat而不是Android版本,那么您可以执行类似的操作DateFormat df = android.text.format .DateFormat.getLongDateFormat(this.getActivity());

1 个回答
  • 不知道为什么这是低估的,这是一个有用的讨论.

    1)我一直听说它们被称为"静态方法".

    2)看到它的唯一方法是关注链接.在这种情况下,文档肯定会产生误导.

    3/4)在java中执行此操作的典型方法是不导入其中一个类,并完全限定其类名.因此,如果您选择导入java.text.DateFormat而不是Android版本,那么您可以执行类似的操作DateFormat df = android.text.format .DateFormat.getLongDateFormat(this.getActivity());

    2023-02-08 12:12 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有