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());
}