[英]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.