我想做的是从超类及其子类访问信息(变量、方法等)。
如果我对继承的了解是正确的,那么通过访问超类,我们默认可以访问它的子类。所以我认为我只需要能够访问父(超级)类。
但是我该怎么做呢?
我不会在这里发布所有代码,这会将这篇文章变成 3 页。
超类只是创建联系人的通用代码,需要访问超类的类是创建arraylist并将每个联系人记录在arraylist中的类。
我并不是想为我编写代码,但是对于理解它如何工作的所有帮助,将不胜感激。
为了简短起见,除非需要,否则我不会发布子类。
联系人(超类):
public class Contacts
{
protected String fname;
protected String lname;
protected String email;
protected String phone;
public Contacts(String fname, String lname, String email, String phone)
{
this.fname=fname;
this.lname=lname;
this.email=email;
this.phone=phone;
}
public String getfname()
{
return fname;
}
public void setfname(String first)
{
this.fname=first;
}
public String getlname()
{
return lname;
}
public void setlname(String last)
{
this.lname=last;
}
public String getemail()
{
return email;
}
public void setemail(String e)
{
this.email=e;
}
public String getphone()
{
return phone;
}
public void setphone(String num)
{
this.phone=num;
}
public String getFullName()
{
String full=fname+" "+lname;
return full;
}
我没有在这段代码上做太多,因为我一直在试图弄清楚它,却不知道从哪里开始。我不认为参数应该是空的,我只是包括那些满足邪恶的编译器。
地址簿:
import java.util.ArrayList;
public class AddressBook
{
Contacts enteredContact = new Contacts(null, null, null, null);
}
这是了解包含的内容的子类之一。
朋友(子类):
public class Friend extends Contacts
{
private String dob;
/**
* Constructs a new Friend object. (Insert any further description that is needed)
* @param fname
* @param lname
* @param email
* @param phone
*/
public Friend(String fname, String lname, String email, String phone)
{
super(fname, lname, email, phone);
}
/**
* @return the dob
*/
public String getDob()
{
return dob;
}
/**
* @param dob the dob to set
*/
public void setDob(String dob)
{
this.dob = dob;
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString()
{
return fname+", "+lname+", "+email+", "+phone+", "+dob;
}
}