[英]How to call a method in a different Java File?
因此,我对 Java 很陌生,并且学习了一些编码。 现在,对于这门课程,我有一本包含理论和练习的书。 现在我被困在某个练习上,但是这本书没有提供这个练习的理论或答案。
所以我有这个 Class 文件( DateFirstTry.java
)和一个运行程序的主文件。
public class DateFirstTry {
public String month;
public int day;
public int year;
public void writeOutput()
{
System.out.println(month + " " + day + ", " + year);
}
public void makeItNewYears()
{
month = "January";
day = 1;
}
public void yellIfNewYears()
{
if ( (month.equalsIgnoreCase("January") ) && (day == 1) )
System.out.println("Hurrah!");
else
System.out.println("Not New Year's Day.");
}
}
public class DateFirstTryDemo {
public static void main(String args[]) {
DateFirstTry date1, date2;
date1 = new DateFirstTry();
date2 = new DateFirstTry();
date1.month = "December";
date1.day = 31;
date1.year = 2012;
System.out.println("date1:");
date1.writeOutput();
date2.month = "July";
date2.day = 4;
date2.year = 1776;
System.out.println("date2:");
date2.writeOutput();
DateFirstTry makeItNewYears;
DateFirstTry yellIfNewYears;
}
所以,他们解释了我应该如何创建makeItNewYears
和yellIfNewYears
方法,但没有解释如何在主代码中调用它们。 我已经尝试过一些东西和DateFirstTry makeItNewYears;
是唯一没有给出错误,但也没有给出任何 output 的东西。
我希望有人可以帮助我!
class 可以具有 state 和行为。 State 是数据。 在您的 class DateFirstTry
中,这些是导致 state 的变量:
public String month;
public int day;
public int year;
方法表示特定的行为或一组操作。 class 的行为对数据执行操作。 在执行这些操作时,它可能会或可能不会更改 class 的 state。 例如,
public void makeItNewYears()
{
month = "January";
day = 1;
}
makeItNewYears()
方法改变了 state,因为它改变了month
和day
的值。 另一方面,
public void writeOutput()
{
System.out.println(month + " " + day + ", " + year);
}
该方法会执行一些操作,但不会更改 state。 它只使用数据但不改变其值。
object 是此 class 的一个实例。 如果Person
是 class,则John
是此 class 的实例。 class 可以有任意数量的实例。 每个实例都有自己的 state 以及 class 中定义的所有行为。 要创建实例,请使用以下语法:
DateFirstTry date1 = new DateFirstTry();
DateFirstTry date2 = new DateFirstTry();
date1
和date2
是此 class 的两个实例/对象。 它们具有相同的属性month
、 day
和year
。 但是对于每个 object,它们的值可能不同。 要调用方法,您需要在实例上调用它。 我们有两个实例date1
和date2
。 调用writeOutput()
使用:
date1.writeOutput()
您也可以在date2
上调用相同的方法,它将对其数据执行操作。
每个 object 都能够执行此行为。
date1.yellIfNewYears()
将检查date1
的月、日和年的值是否为新年。 如果您调用与以下相同的方法:
date2.yellIfNewYears()
它将使用date2
中的月份、日期和年份值执行此操作。
由于这些是实例方法,因此您首先需要创建DateFirstTry
的实例,例如,您对date1
所做的操作:
DateFirstTry someDate = new DateFirstTry();
然后,您可以使用.
语法,后跟方法名称,括号 ( ()
) 包含要传递给方法的 arguments (在本例中 - 无):
someDate.makeItNewYears();
someDate.yellIfNewYears();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.