当前位置: 首页 > 面试题库 >

从一个类获取价值以在另一个类中使用它(java)

鲁单弓
2023-03-14
问题内容

我有两节课

在ABC班

double a = 0.5 
public double lala()
{
     return a;
}

我想在另一个课程中使用它,让我们说DEF课程

ABC abc;
double baba = abc.lala();

但是它说java.lang.NullPointerException,你知道吗?谢谢

public class AdapterDB 
{ 
        double cal;
    double rcarbohydrate;
    double rfat;
    double rprotein;

    public AdapterDB(double cal, double rcarbohydrate, double rfat, double rprotein, Context ctx)
    {
        this.cal = cal;
        this.rcarbohydrate = rcarbohydrate;
        this.rfat = rfat;
        this.rprotein = rprotein;
        this.context = ctx;
        DBHelper = new DatabaseHelper (context);        
    }

        public double Calorie()
    {
        return cal;
    }

    public double Carbohydrate()
    {
        return rcarbohydrate;
    }

    public double Protein()
    {
        return rprotein;
    }

    public double Fat()
    {
        return rfat;
    }

}

这是我的ABC类的代码,我想在另一类> _ <中使用它们


问题答案:

您需要在内存中分配ABC,否则它指向null,因此NullPointerException:

ABC abc = new ABC();
double baba = abc.lala();

编辑 :好的,如果ABC没有像这样的零参数构造函数:

public ABC() { }

您有两种选择来解决您的问题。要么添加一个,然后在内部给其他字段提供默认值。喜欢:

public AdapterDB()
{
    DBHelper = new DatabaseHelper (context);        
}

或者,修改对象的创建,例如:

double p1 = <some value>;
double p2 = <some value>;
double p3 = <some value>;
double p4 = <some value>;
Context ctx = new Context(); // don't know what this does.
ABC abc = new ABC(p1, p2, p3, p4, context);
double baba = abc.lala();


 类似资料:
  • 问题内容: 我有文本框,在另一个面板中有保存按钮。如果单击保存按钮,则必须获取第一个面板文本框的值。 如何访问? 问题答案: 只需将TextField设置为Public Static dats即可。然后您可以使用ClassName.TextFiledName访问TextField

  • 我正试图使它使field2将显示在Field1中输入的任何值。我正在使用onchange事件来完成此操作。 field1是一个输入文本框,因此如果field1=“Mary”,则field2应为“Mary”。 如果field1说“花生酱和果冻”,field2应该说“花生酱和果冻”。 如果field1为空,则field2应为空。 现在我有一个代码使field2复制field1,但是我必须给它一组预定的

  • 有两类: 和 null UPD:这个问题在这里也回答了:静态和非静态字段,因为我不能删除我回答的一个

  • 这里Book是根类,即最终的CSV将命名为books.CSV。 使用,我们只获得字段名title和author,但是我们还需要来自author类的字段名(name和age),有没有方法获得这些字段名?

  • 问题内容: 嗨,我试图将一些文本附加到同一包中另一个类的一个小问题。以下是与JFrame有关的主要类: 我包括测试变量只是为了轻松地重新创建问题,但是无论何时运行append函数,jFrame的文本区域中都不会出现任何内容。在我的方案中,我让客户端从服务器接收文本,然后将其附加到文本框中。 顺便说一句,我正在为JFrame使用IntelliJ GUI设计器。我只包含了重新创建问题所需的代码。我仍在

  • 我已经阅读了很多stackoverflow的页面,但是我无法将我的ArrayList复制到另一个类中。下面是一个场景,我正在构建一个快速的图书储蓄应用程序,类似于图书馆中的应用程序,但更简单(用于学校)。 我有我的主库类(带有main),它为主菜单/选项设置了swing。 我有一个带有新书构造函数的book类,如下所示: 在这个类中,我在确认按钮上添加了一个,以确认上要作为对象添加的输入,如下所示