静态和get set方法问题

时间:2014-08-01 14:26:18

标签: java static get set

好吧,这可能听起来很傻,但我真的不知道这里发生了什么。首先,

System.out.print("\nPlease enter your name :");
Member.setName(scChar.nextLine());
System.out.print("\nPlease enter your age :");
Member.setAge(scInt.nextInt());
System.out.print("\nPlease enter your I/C number :");
Member.setIcNo(scChar.nextLine());
System.out.print("\nPlease enter your phone number :");
Member.setPhoneNo(scChar.nextLine());
System.out.print("\nPlease enter your address :");
Member.setAddress(scChar.nextLine());

当我使用Jcreator LE运行时,它表示我的setName不是静态的,因此我必须更改为static,现在我的每个变量都是静态的。

private static String name;
private static int age;
private static String icNo;
private static String phoneNo;
private static String address;
private static java.util.Date date;
private static java.util.Date expiryDate;
private static int trialClass = 0;
private static double joiningFees = 80.00;
private static char memberType;

那么,我可以知道我的问题是什么吗?或者你需要知道任何代码,让我知道,然后我会编辑我的帖子。 还有一个是我必须使用String n而不是this.name = name才能工作。

//设置方法

public static void setName(String n)
{
    name = n;
}

public static void setAge(int a)
{
    age = a;
}

public static void setIcNo(String ic)
{
    icNo = ic;
}

public static void setPhoneNo(String phone)
{
    phoneNo = phone;
}

public static void setAddress(String a)
{
    address = a;
}

public static void setDate(java.util.Date d)
{
    date = d;
}
public static void setExpiryDate(java.util.Date expDate)
{
    expiryDate = expDate;
}

public static void setTrialClass(int tc)
{
    trialClass = tc;
}

public static void setMemberType(char mt)
{
    memberType = mt;
}

//获取方法

public static String getName()
{
    return name;
}

public static int getAge()
{
    return age;
}

public static String getIcNo()
{
    return icNo;
}

public static String getPhoneNo()
{
    return phoneNo;
}

public static String getAddress()
{
    return address;
}

public static java.util.Date getDate()
{
    return date;
}

public static java.util.Date getExpiryDate()
{
    return expiryDate;
}

public static int getTrialClass()
{
    return trialClass;
}

public static double getJoiningFees()
{
    return joiningFees;
}

public static char getMemberType()
{
    return memberType;
}

1 个答案:

答案 0 :(得分:0)

我认为你需要重新阅读你的书友的OOP部分。您需要创建一个Member实例。

Member member1 = new Member() ;
member1.setName("Chris");

这对你来说可能没什么意义,所以我真的建议先读一下OOP。甚至可能选择一本不同的书。

http://docs.oracle.com/javase/tutorial/java/concepts/