我有两个不同的文件。在下面的文件中,我创建了一个带有属性的新对象,并创建了一个方法来检索该属性。
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());
}
}
感谢您的帮助,谢谢。
答案 0 :(得分:1)
你正在考虑这个主要方法。
JourneyMethods
主要方法对Journey
类一无所知,除非你告诉它。如果您创建对JourneyMethods
的引用,则Journey
将能够与Journey
实例进行互动。
答案 1 :(得分:0)
您只需为具有该属性的类创建一个getter()方法(在您的Journey.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;
}
}
JourneyMethods:
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类中创建两个旅程对象,以便您可以参考它们。你也应该把'files'称为类,因为'file'通常意味着文件系统上的文件,而不是代表Java类的文件。这让我有点困惑。
答案 2 :(得分:0)
你的班级对象:
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文件) 在Journey类中使用main()函数没有意义,您可以从代码中的任何位置实例化对象,因此将它放在main()函数中:)
在Java中,您通常希望将方法放在Object类中。
答案 3 :(得分:0)
要访问对象属性,必须在外部类中创建对象,并使用getter和setter方法获取对象的值。
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());
}
}