Ошибка tcNull Golang HanadB

Когда вы вызываете метод print на animal, JVM сначала ищет метод print в объекте dog. Если в объекте dog не было print, JVM будет искать суперкласс Dog. Поскольку он находит метод print в классе Dog, он начинает его выполнять. Поле имени в классе Dog скрывает поле имени, которое было унаследовано от класса Animal. Его так же, как:

public class Test {
static String name = "xyz";
public static void main(String[] args) {
    {
      String name = "abc";
      System.out.println(name); // abc is printed
    }
    System.out.println(name); // xyz is printed
}
}

Внутри блока есть локальная переменная name. Таким образом, глобальная переменная name скрыта. Но когда вы выходите из блока, появляется локальная переменная.

ПРИМЕЧАНИЕ:

Dog класс должен выглядеть следующим образом:

class Dog extends Animal{
    this.name = "Dog";
    public void print(){
      System.out.println("I am a: " + this.name);
    }
}

Вы сделали плохой дизайн.

0
задан FedericoFernandez 13 July 2018 в 23:14
поделиться

1 ответ

Ваша ошибка жалуется «Я не знаю, как читать нулевое значение».

Функция чтения файла options.go имеет оператор switch в строке 117, который реализует способы чтения различных баз данных типы. Вам нужно будет обновить этот оператор switch, чтобы иметь возможность обрабатывать значение типа null («tcNull»?).

0
ответ дан Tony 17 August 2018 в 12:06
поделиться
  • 1
    Да. Я знаю это, но я не знаю, как это сделать – FedericoFernandez 14 July 2018 в 05:12
Другие вопросы по тегам:

Похожие вопросы: