Inheritance, any suggestions how I should improve this program?
<pre><code>public class Person{

private String name;
private String surname;
private int age;
private String address;

    Person(String n, String s, int a, String i){
    name = n;
    surname = s;
    age = a;
    address = i;

    this.name = name; this.surname= surname;
    this.age = age; this.address = address;

 }

    public String getName() {return name;}
    public String getSurname() {return surname;}
    public int getAge() {return age;}
    public String getAddress() {return address;}

    System.out.println(name+surname+age+address);

    Person(){
        this("Ryan","Borg",25,"Gudja");
    }
}

public class Student extends Person{
    int mark;
    String credits;

    Student(){
    }

    Student(String n, String s, int a, String i, int m, String c){
        super(n, s, a, i);
        mark = m;
        credits = c;

    public String getName() {return name;}
    public String getSurname() {return surname;}
    public int getAge() {return age;}
    public String getAddress() {return address;}
    public int getMark(){return mark;}
    public String getCredits() {return credits;}

    System.out.println(name+surname+age+address+mark+credits);

    }
 }

public class Teacher extends Person{
    int salary;
    String subject;

    Teacher(){
    }

    Teacher(String n, String s, int a, String i, int sal, String sub){
        super(n, s, a, i);
        salary = sal;
        subject = sub;

    public String getName() {return name;}
    public String getSurname() {return surname;}
    public int getAge() {return age;}
    public String getAddress() {return address;}
    public int getSalary(){return salary;}
    public String getSubject() {return subject;}

    System.out.println(name+surname+age+address+salary+subject);
    }
  }
</code></pre>
