Java:在另一个类中使用类中的对象

Java:在另一个类中使用类中的对象,java,class,Java,Class,我有两个不同的文件。在下面的文件中,我创建了一个具有属性的新对象,并创建了一个检索该属性的方法 public class Journey { public double singleCost; public void setSingleCost(double cost) { singleCost = cost; } public double getSingleCost() { return singleCost; }

我有两个不同的文件。在下面的文件中,我创建了一个具有属性的新对象,并创建了一个检索该属性的方法

public class Journey
{
    public double singleCost;

    public void setSingleCost(double cost) {
        singleCost = cost;
    }

    public double getSingleCost() {
        return singleCost;
    }

    public static void main (String[] args) {
        Journey leicester_loughborough = new Journey();
        leicester_loughborough.setSingleCost(2.5);

        Journey leicester_nottingham = new Journey();
        leicester_nottingham.setSingleCost(3.5);
    }
}
在另一个文件中,我想打印出该对象的属性。不过我不知道该怎么做。下面的方法似乎不起作用

public class JourneyMethods
{    
    public static void main (String[] args) {
        System.out.println(leicester_loughborough.getSingleCost());
    }
}
我非常感谢您的帮助,谢谢。

您只需为您想要在拥有它的类中拥有的属性创建一个getter()-方法(在您的示例中是travely.class)。 像这样:

public double getSingleCost() {
    return singleCost;
}
然后,可以通过从已有的对象实例调用getSingleCost()来获取该属性。像这样:

double cost = leicester_loughborough.getSingleCost();
请注意,这是非常基本的内容,您可能需要先阅读一些Java教程

哦,您的程序应该只有一个
main()
方法作为入口点。(有理由有不止一个,但这些都是非常具体的情况)。如果您以OP中编写的方式运行程序,那么地址空间以及两个应用程序的执行将彼此分开,并且您无法访问包含在不同应用程序中的对象(当然,有序列化等方式,但这些是更高级的主题)。 将类/对象包含在同一程序中

编辑:修复OP代码,使其按预期工作:

public class Journey
{
    public double singleCost;

    public void setSingleCost(double cost) {
        singleCost = cost;
    }

    public double getSingleCost() {
        return singleCost;
    }
}
工作方法:

public class JourneyMethods
{    
    public static void main (String[] args) {
        Journey leicester_loughborough = new Journey();
        leicester_loughborough.setSingleCost(3.5);
        System.out.println(leicester_loughborough.getSingleCost());
    }
}
您需要在JourneyMethods类中创建两个旅程对象,以便对它们进行引用。您还应该将“文件”称为类,因为“文件”通常表示文件系统上的文件,而不是表示Java类的文件。这让我有点困惑。

您的类对象:

public class Journey
{
    public double singleCost;

    public void setSingleCost(double cost) {
        singleCost = cost;
    }

    public double getSingleCost() {
        return singleCost;
    }

}
你的主要班级:

public class JourneyMethods
{    
    public static void main (String[] args) {
        Journey Leicester_loughborough = new Journey();
        leicester_loughborough.setSingleCost(2.5);
        Journey leicester_nottingham = new Journey();
        leicester_nottingham.setSingleCost(3.5);
        System.out.println(leicester_loughborough.getSingleCost());
    }
}
这就是Java的工作原理,我认为您可能会混淆C(以及.h和.C文件) 在Travely类中使用main()函数是没有意义的,您可以从代码中的任何位置实例化对象,因此将其放在main()函数中:)


在Java中,您通常希望将方法放在对象类中。

您将其视为主要方法考虑得太多了


您的
JourneyMethods
main方法对
Journey
类一无所知,除非您告诉它
JourneyMethods
将能够与
Tourney
实例交互如果您创建对
Tourney
的引用要访问对象属性,您必须将对象置于外部类中,并使用getter和setter方法获取对象的值

public class Journey{
public double singleCost;

public void setSingleCost(double cost) {
    singleCost = cost;
}

public double getSingleCost() {
    return singleCost;
}  
}


}

这不是问题所在。请再读一遍整篇文章。不,这是你的问题。这就是如何在Java中正确访问不同类中的属性。您的问题只是启动了两个不同的程序(您有两个main()方法),因此无法获取对所讨论对象的引用。不,请重新阅读。我的问题是关于如何访问两个不同文件中的同一对象。您的回答解释了如何访问同一文件中对象的属性。您指的是类,而不是文件。我更新了我的答案。如果对你有效,请告诉我。应该是的,但我自己没有试着运行代码。
public class JourneyMethods{    
public static void main (String[] args) {
    Journey Leicester_loughborough = new Journey();
    leicester_loughborough.setSingleCost(2.5);
    Journey leicester_nottingham = new Journey();
    leicester_nottingham.setSingleCost(3.5);
    System.out.println(leicester_loughborough.getSingleCost());
}