public class InterfaceTest {
public static void main (String [] args) {
Person p1 = new PersonA ();
Person p2 = new PersonB ();
p1.setName ("David", "Vajda");
p2.setName ("Anton", "Friedrich");
System.out.println (p1.toString());
System.out.println (p2.toString());
}
interface Person {
void setName (String FirstName, String LastName);
String toString ();
}
public static class PersonA implements Person {
String FirstName = null;
String LastName = null;
@Override
public void setName (String FirstName, String LastName) {
this.FirstName = FirstName;
this.LastName = LastName;
}
@Override
public String toString () {
return this.FirstName + " " + this.LastName;
}
}
public static class PersonB implements Person {
String Name = null;
@Override
public void setName (String FirstName, String LastName) {
this.Name = FirstName + " " + LastName;
}
@Override
public String toString () {
return this.Name;
}
}
}