【问题标题】:Android: Why does makeText work with Toast instance? [duplicate]Android:为什么 makeText 可以与 Toast 实例一起使用? [复制]
【发布时间】:2017-11-20 12:14:45
【问题描述】:

我不小心以这种方式对我的 Toast 进行了编码,但它继续工作。

public class MainActivity extends AppCompatActivity  {

  private Toast mToast;

  ...

  private void onClickHandler(int itemIndex) {
    mToast = new Toast();
    mToast.makeText(this, String.valueOf(itemIndex), Toast.LENGTH_SHORT).show();
  }
}

鉴于 makeText 是一个静态方法,为什么上面的方法会起作用?

【问题讨论】:

    标签: android android-toast


    【解决方案1】:

    因为静态方法和变量也可以通过类的实例访问

    但是,以这种方式访问​​它们被认为是不好的做法

    【讨论】:

    • 是的,Android Studio 是突出显示它作为建议更改的 IDE 之一,而不是使用 Java 时的编译错误。更好的是,Kotlin 根本不允许使用来自实例的静态方法。
    猜你喜欢
    • 2016-03-13
    • 1970-01-01
    • 2019-06-19
    • 1970-01-01
    • 2017-04-04
    • 1970-01-01
    • 2017-05-06
    • 2018-04-11
    • 1970-01-01
    相关资源
    最近更新 更多