質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

2959閲覧

Serial Version UIDについて

reotantan

総合スコア295

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2015/09/27 10:21

動画を見ながらゲームの作り方の勉強をしていたら、動画ではクラス名の下に波線が表れてそれをくりっくするとSerial Version UIDが自動的に生成されました。
exclipseを使っているのですが、Serial Version UIDを自動的に作成されるのはどのような状況の時ですか
またもしeclipseが自動作成してくれないなら、どのような基準で私はUIDを作るべきでしょうか?
わかる方教えてください、お願いします

package com.tutorial.main; import java.awt.Canvas; public class Window extends Canvas{ } コード

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Serializableインターフェイスを実装しているクラスを作ろうとした場合、Eclipseコンパイラーの設定によっては、Serial Version UIDが無い場合にコンパイラーが警告を出します。
それをクリックすると、いくつかの修正サジェストが表示されます。
その中に、Serial Version UIDを生成するもの(「デフォルト・シリアルバージョンIDの追加」「生成シリアルバージョンIDの追加」)があるので、それを選ぶと自動で生成されます。

この場合、CanvasクラスがSerializableインターフェイスを実装しているため、WindowクラスもSerializableインターフェイスを実装していることになります。

おそらく今の段階では、Serial Version UIDは不要と思われます。
が、コンパイラーの設定により常に警告が出てしまうようでしたら、「デフォルト・シリアルバージョンIDの追加」で生成しておくのも良いかと思います。

参考までに、Serial Version UIDはシリアライズ(直列化)に関係があります。
シリアライズについては、下記サイトなどをご参照ください。
Javaとシリアライズと互換性 - CLOVER
Java オブジェクト直列化仕様:5 - 直列化可能オブジェクトのバージョン管理

本題とは関係ありませんが、既にjava.awt.Windowというクラスがあるので、Windowという名前は避けた方が良いかもしれません。

投稿2015/09/27 10:40

argius

総合スコア9388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問