【问题标题】:why uses [static final] in android? [closed]为什么在android中使用[static final]? [关闭]
【发布时间】:2015-10-08 16:09:44
【问题描述】:

我是 Android 新手。 最近我阅读了很多关于 Android 的源代码。 下面这些代码我真的看不懂。

public DemoActivity {
     private static final String TAG = "DemoActivity";

   //.........
}

为什么使用静态

【问题讨论】:

  • 您缺少数据类型private static final String TAG = "DemoActivity"
  • 你知道static 是什么意思吗?如果是,那么您在这里感到困惑的是什么?
  • 我投票结束这个问题,因为它太基本了。任何了解这项技术的人都不会觉得这很有用。
  • 虽然我同意这个问题应该结束,但基本本身并不会使问题变得糟糕。

标签: java android


【解决方案1】:

在这种情况下您使用静态,因为名为@9​​87654321@ 的字符串与DemoActivity 类本身相关联,而不是与DemoActivity 的任何特定实例相关联。在这种情况下,它是一个引用类名称的常量,这对于类DemoActivity 的任何实例都是相同的,static 也是如此。

【讨论】:

    【解决方案2】:

    static final String TAG = "DemoActivity" ==> 这将使字符串文字 "DemoActivity" 成为 compile-time 常量,即,在代码中使用 TAG 的任何地方,它将被值 @ 替换987654324@ 编译期间。即,在字节码中。

    【讨论】:

      【解决方案3】:

      通常当我们创建标签时,我们将其声明为

      public final static String TAG = "APPLICATION_TAG";
      
      1. 使用静态的唯一目的是让变量存在于内存中 只要父母的生命周期在那里
      2. other use is so you can use this tag in other Activities

        String getTag = DemoActivity.Tag;
        

      【讨论】:

        猜你喜欢
        • 2011-05-23
        • 2011-10-02
        • 1970-01-01
        • 2013-10-28
        • 1970-01-01
        • 2012-06-28
        • 2012-07-25
        • 1970-01-01
        相关资源
        最近更新 更多