java - 如何访问需要一些信息的非静态方法?

标签 java android oop

就我而言,我有两个类MenuActivity、MinhaEscolaActivity。 MenuActivity中有一个方法叫quemSouEu,它是一个非静态方法。 它还需要在 MinhaEscolaActivity 的构造函数方法上定义一些属性。 如果我在 MenuActivity 上实例化 MinhaEscolaActivity 的新对象,这些属性将为 null,并且我将得到 NullPointerException

有没有办法使用MenuActivity类中的quemSouEu方法?

最佳答案

您不应该自己创建 Activity 对象。 Activity 是一个主要的 Android 组件,由系统创建。

如果您有一些功能要在 Activity 之间共享,您应该创建另一个类,并在 Activity 中实例化一个对象。

如果您也有数据要共享,您可以考虑一些共享数据的标准方法,如您可以阅读 in this answer

您在第二个类构造函数上创建的对象是什么?您可以启动 Activity 并获取结果,但只有当您实际上需要显示新 View 或以不同方式与用户交互时才应该这样做,您不应该告诉系统仅仅为了调用函数而运行新 Activity 。

关于java - 如何访问需要一些信息的非静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21002466/

相关文章:

android - 尝试将 AndroidX 迁移到 Android AppCompat

c++ - 实现基类方法以访问派生类的属性

Java 日期比较

java - 是否需要 SMTP 服务器使用 JavaMail API 通过 Web 服务器发送邮件?

android - android应用程序中 TextView 中的问题

android - 为什么安卓:layout_gravity ="right" not working here in android xml

Javascript OOP 类 - 将属性分配给函数

c++ - 确保正确释放 C++ 对象

java - 将代码块保存在变量中

java - 将 MIDI 转换为 Java 数据结构(List、Hash Map、???)