Java 从另一个类访问一个类?

Java 从另一个类访问一个类?,java,class,oop,object,Java,Class,Oop,Object,(上图) 我正在尝试访问Fram1.java中的Food.carries或Food.carbs,但它不允许我访问。有人能告诉我为什么吗 详细信息…我试图通过编程卡路里计数器来练习Java,Frame1是一个GUI类。我正试图写另一个类,把所有的食物以及它们的碳水化合物量…作为它们的属性。回答第一个问题就足够了,但是任何其他方法的提示都将非常感谢。谢谢 首先,卡路里不是食品类的一个领域 其次,您将carbs字段视为静态的 静态变量归类所有 类实例拥有非静态变量 您可以将食物类中的字段设置为静

(上图) 我正在尝试访问Fram1.java中的Food.carries或Food.carbs,但它不允许我访问。有人能告诉我为什么吗

详细信息…我试图通过编程卡路里计数器来练习Java,Frame1是一个GUI类。我正试图写另一个类,把所有的食物以及它们的碳水化合物量…作为它们的属性。回答第一个问题就足够了,但是任何其他方法的提示都将非常感谢。谢谢

首先,卡路里不是食品类的一个领域

其次,您将carbs字段视为静态的

  • 静态变量归类所有
  • 类实例拥有非静态变量

您可以将食物类中的字段设置为静态,如下所示:

public static int cals、碳水化合物、脂肪、蛋白质

但是,如果系统中需要多个食物项,则需要创建食物类的实例。此外,如果构造器具有设置字段的参数,而不是每个食物项都有10个特征,则可能会有所帮助

无论如何,下面是一个实例化示例:

public class Frame1
{
    private Food genericFood;

    public Frame1() 
    {
        genericFood = new Food(); 
        System.out.println(genericFood.cals);
    }
}
因为您正在创建Food类的一个实例,所以不需要键入static


此外,我建议研究封装。

欢迎使用堆栈溢出。请查看和。不要发布图片,请在此处发布完整代码。我们看不到您的其他代码,我们应该如何回答此问题?我将投票结束此问题,因为没有足够的上下文信息来回答它。此外,你不允许在这里发布代码的图像,将其作为文本发布。这里没有“食物。卡路里”,有“食物。卡路里”。你说的“不让你”是什么意思?如果你想编程,你必须学习的第一件事是具体和准确。