Superclase y protected

Clase padre Persona.java y un nuevo modificador de acceso que es para trabajar con herencias.

package herencia;
public class Persona {
    protected String nombre;
    protected char genero;
    protected int  edad;
    protected String direccion;
    //Constructor por vacio 
    public Persona(){
        
    }
    
    //Constructor con un dato
    public Persona(String nombre) {
        this.nombre = nombre;
    }
    
    //Constructor con todo los datos
    public Persona(String nombre, char genero, int edad, String direccion) {    
        this.nombre = nombre;
        this.genero = genero;
        this.edad = edad;
        this.direccion = direccion;
    }
    //Métodos de Getters y Setters
    public String getNombre() {
        return this.nombre;
    }
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    public char getGenero() {
        return this.genero;
    }
    public void setGenero(char genero) {
        this.genero = genero;
    }
    public int getEdad() {
        return this.edad;
    }
    public void setEdad(int edad) {
        this.edad = edad;
    }
    public String getDireccion() {
        return this.direccion;
    }
    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("Persona{nombre=").append(this.nombre);
        sb.append(", genero=").append(this.genero);
        sb.append(", edad=").append(this.edad);
        sb.append(", direccion=").append(this.direccion);
        sb.append('}');
        return sb.toString();
    }   
}

Probar la clase Persona desde TestHerencia.java

Persona persona1 = new Persona("Alex Roel", 'M', 25, "Santo Tomas");
System.out.println(persona1);