Java 实现可序列化到实现接口的类

Java 实现可序列化到实现接口的类,java,interface,implementation,serializable,implements,Java,Interface,Implementation,Serializable,Implements,我有一个名为Person的超级类,它由另外两个类继承,Employee和Client 我正在使用一个接口,以便在两个子类上使用泛型,因此Person类实现了这个接口,Searchable。Person类是否可以同时实现接口和Serializable以便保存 package compuwiz; public abstract class Person implements Searchable //implements Serializable ?? { public Person() {

我有一个名为Person的超级类,它由另外两个类继承,EmployeeClient 我正在使用一个接口,以便在两个子类上使用泛型,因此Person类实现了这个接口,Searchable。Person类是否可以同时实现接口和Serializable以便保存

package compuwiz;
public abstract class Person implements Searchable //implements Serializable ??
{
public Person()
{
    pName = "";
    pSurname = "";
    pIdCard = "";
}
public Person(String nm, String sn, String id)
{
    pName = nm;
    pSurname = sn;
    pIdCard = id;
}
String pName;
String pSurname;
String pIdCard;
public String GetName()
{
    return pName;
}
public String GetSurname()
{
    return pSurname;
}

@Override
public String GetID()
{
    return pIdCard;
}
//Set Methods
public void SetName(String nm) 
{
  pName=nm;  
}
public void SetSurname(String sn) 
{
  pSurname=sn;  
} 
public void SetID(String id) 
{
  pIdCard=id;  
}

@Override
public String ToString()
{
    return this.GetName()+ " " +this.GetSurname()+ "ID card number:" +this.GetID();
}

对。这就是接口的目的。一个类可以同时实现多个接口:

public abstract class Person implements Searchable, Serializable {
    //current code of your class...
}
除此之外,我建议您使用正确的方法命名。也就是说,使用
camelCase
standard,第一个字母用小写,然后名称中包含的下一个单词用大写。例如:

//this will throw a compiler error unless you define a ToString method in a top interface
@Override
public String ToString() {
}


Java支持多接口继承

非常感谢!我没想到,谢谢!我很感激。
@Override
public String toString() {
}
public abstract class Person implements Serializable, Searchable {}