Я получаю сообщение об ошибке в моем классе в Eclipse - PullRequest
0 голосов
/ 25 марта 2012
import acm.graphics.*;
import acm.program.*;
import java.awt.*;

      public class MyRobot extends GraphicsProgram {
        }
 }

Это код, который я написал, и всякий раз, когда я ставлю extends GraphicsProgram или ConsoleProgram, он говорит мне

The serializable class MyRobot does not declare a static final serialVersionUID field of type long.   

Кроме того, когда я пытаюсь запустить программу с этим предупреждением, она просто показывает пустую программу.

Кто-нибудь может мне помочь с этими проблемами?

Ответы [ 3 ]

3 голосов
/ 25 марта 2012

Это потому, что ваш класс Сериализуемый .

Сериализуемость класса включена классом, реализующим Сериализуемый интерфейс. Классы, которые не реализуют это Интерфейс не будет иметь сериализованного или десериализованного состояния. Все подтипы сериализуемого класса сами по себе сериализуемы. Интерфейс сериализации не имеет методов или полей и служит только для определить семантику сериализации.

1 голос
/ 25 марта 2012

Будь добр к Яве.Вы используете классы с интерфейсом Serializable.Им нужно, чтобы вы declare a static final serialVersionUID field of type long.Они просят вас сделать это.Будь так добр, declare a static final serialVersionUID field of type long.:-). И +1 для новичка это неплохой вопрос.

1 голос
/ 25 марта 2012

Программа, скорее всего, ничего не отображает, потому что ни один компонент не был добавлен и в нем ничего не нарисовано.Но тогда, если вы не используете одну из тех хитрых IDE, которая создает невидимую main() или существует другой класс, кроме MyRobot, я не вижу, как этот код может выполняться.


Кстатизабыл упомянуть, что в Eclipse есть «быстрое исправление»:

  1. Дважды щелкните предупреждение на вкладке Проблемы, чтобы сфокусировать класс проблемы.

  2. Введите Ctrl 1 для функции «Быстрое исправление»

  3. Выберите первый или второй параметры, которые отображаются ниже.

Eclipse SerrialVersionUID Quick Fix

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...