¿Cómo heredo de una clase personalizada LinkedList?

Necesito heredar de IntegerLinkedList, al mismo tiempo que creo una nueva variable específica para StringAndIntegerLinkedList. ¿Qué es lo que me estoy perdiendo?

class IntegerLinkedList {
    int payload;
    IntegerLinkedList next;

    public IntegerLinkedList(int payload, IntegerLinkedList next) {
        this.payload = payload;
        this.next = next;
    }

    class StringAndIntegerLinkedList extends IntegerLinkedList {
        String stringPayload;

    public StringAndIntegerLinkedList(String stringPaylod, int payload, IntegerLinkedList next) {
        this.stringPayload = stringPaylod;
        this.payload = payload;
        this.next = next;
    }

También tengo setters y getters para cada campo en cada clase.

El mensaje de error:

StringAndIntegerLinkedList.java:4: error: constructor IntegerLinkedList in class IntegerLinkedList cannot be applied to given types;
    public StringAndIntegerLinkedList(String stringPaylod, int payload, IntegerLinkedList next) {
                                                                                                ^
  required: int,IntegerLinkedList
  found: no arguments
  reason: actual and formal argument lists differ in length
1 error
Respuesta 1

Aquí:

public IntegerLinkedList(int payload, IntegerLinkedList next) {

Ese es el constructor al que el compilador de Java quiere llamar desde su constructor derivado. Tenga en cuenta que tiene dos parámetros.

Pero el constructor derivado tiene tres parámetros. Entonces, ¿cómo se supone que el compilador ahora debe usar?

Una solución: poner super(payload, next);como primera declaración en ese constructor derivado.

La parte importante es que cualquier constructor tiene que llamar a otro constructor en la misma clase, o un constructor de superclase. Si omite esa llamada explícita, el compilador intenta insertar una para usted. Lo que no puede hacer cuando las cosas no cuadran.

Para la teoría detrás de eso, vea aquí, por ejemplo.

Respuesta: 2

Lo siento si esta es una pregunta novata. Tengo un método que toma un objeto Class con el tipo genérico como parámetro. Puedo hacer lo siguiente: Clase cs = Map.class; pero cuando paso esto me sale ...

Tengo que calcular la diferencia entre dos fechas. Aquí está mi código: System.out.println ("date1" + date1); System.out.println ("fecha2" + fecha2); totalDifference = date2 ....

Tengo entradas como el siguiente fragmento, Fragmento de entrada: <div class = "a"> <table> <col width = "4" /> <col width = "8" /> <col width = "5" /> .. .

He escrito el código que tiene que encontrar el tamaño del archivo usando la solicitud http HEAD a través de sockets ... lo intento en mi casa con una conexión no proxy que funciona ... pero cuando lo intento en mi universidad con un ...