我想编写一个AddressBookEntry类来表示通讯录中的条目。班级的对象应该存储一个人的姓名,电话号码和电子邮件地址。该类应该有一个构造函数来初始化一个新对象来表示一个人,以及getter方法来访问每一条信息。 到目前为止,这是我的代码:
public class AddressBookEntry {
private String name;
private String phone;
private String email;
public AddressBookEntry (String name, String phone, String email)
{
this.name=name;
this.phone=phone;
this.email=email;
}
public String getName()
{
return name;
}
public String getPhone (String phone)
{
return phone;
}
public String getEmail (String email)
{
return email;
}
}
但我一直收到这个错误
未使用AddressBookEntry.phone字段的值
和电子邮件相同。我不明白我做错了什么。有什么想法吗?
答案 0 :(得分:2)
吸气剂不应该有参数:
public String getPhone ()
{
return phone;
}
public String getEmail ()
{
return email;
}
请注意,您可以使用IDE自动为您创建getter和setter。
答案 1 :(得分:0)
我建议您使用IDE的工具来生成gettter / setter方法,它不易出错。 我的意思是如果您使用Eclipse右客户端 - > source-> Settter / Getter部分将允许您选择字段来创建相应的setter / getter方法。
答案 2 :(得分:0)
问题是方法参数被视为局部变量。因此,当您将String email作为方法参数传递时,它会隐藏字段电子邮件。您的方法将返回与您传递的字符串完全相同的字符串,而不是字段电子邮件。
这导致您发现警告,您的字段变量电子邮件从未使用过。 其他答案中解释了错误的setter / getter实现。
答案 3 :(得分:0)
电话和电子邮件属性从未使用过,您会收到警告。 重要的是你明白为什么他们从未使用过。 如果你写:
public String getEmail (String email)
{
return email;
}
这意味着getEmail永远不会返回email属性的值,而是返回input中作为参数接收的值。 要解决此问题,您有不同的选择: 选项1:
public String getEmail ()
{
return email;
}
选项2:
public String getEmail (String email)
{
return this.email;
}
选项3:
public String getEmail (String emailFake)
{
return email;
}
这是理由:
选项1:正确的方法。您只需返回电子邮件属性的值。
选项2:您返回email属性的值,因为您使用this关键字。
选项3:您返回email属性的值,因为您的参数有另一个名称。