我剛剛開始使用java編寫代碼,並試圖將我的頭圍繞類。在java中使用公共屬性時遇到麻煩
我似乎無法在另一個類中使用公共屬性。我有3個類:一個包含主要方法;另2個是輸入輸出。我正在使用非靜態變量和方法,我不想使用靜態。
即使我已經在輸出類中實例化輸入類,輸出類無法識別公共屬性。爲什麼?
這裏有3類:
package random;
import java.util.Scanner;
import java.util.Arrays;
public class random
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter your first name: ");
input inputObject = new input();
inputObject.setFirstName();
output outputObject = new output();
outputObject.getFirstName();
}
}
package random;
import java.util.Scanner;
public class input
{
public String firstName;
public input() {}
public void setFirstName() {
Scanner keyboard = new Scanner(System.in);
this.firstName = keyboard.nextLine();
}
}
package random;
import java.util.Scanner;
public class output
{
public void getFirstName()
{
input inputObject = new input();
System.out.println("Your first name is " + inputObject.firstName);
}
}
如果你真的想你的代碼,以那種方式行事,你可以共享類/對象的單個實例看看使用Singleton模式。除此之外別人提到的是正確的,因爲您使用輸入對象的2個不同實例。你應該做的是使用一個類,它包含屬性以及類似事件的getter和setter,比如像上面例子中使用的用戶或人的屬性名字一樣。然後你會實例化這個類,並使用getters和setter來操縱這個對象。 – rmeier