gpt4 book ai didi

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

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

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

Android 有 android.text.format.DateFormat,它有返回 java.text.DateFormat 实例的静态方法(特别是 getLongDateFormat()getMediumDateFormat())。

  1. 这些方法是指“静态方法”还是“类方法”,或者两者可以互换?

  2. 查看 Android documentation ,我怎么知道 android.text.format.DateFormat 方法返回 java.text.DateFormat 实例而不是 android.text.format.DateFormat 实例(返回后者的实例是我最初的预期)?

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

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

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());

最佳答案

不知道为什么这会被否决,这是一个有用的讨论。

1) 我一直听说它们被称为“静态方法”。

2) 查看它的唯一方法是点击链接。在这种情况下,文档肯定具有误导性。

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

关于Java 命名空间 - 两个在不同包中具有相同名称的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20764742/

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