Javaは、オブジェクト指向の言語と言われますが、いままでC言語などを使ってプログラミングしていた人にとっては、C言語の構造体のメンバーに関数が追加されたものがクラスと考えることができます。詳しくは、Cプログラマーから見たJavaをご覧下さい。
したがって、JavaでのC言語の構造体は、メソッドのないクラスを定義することで利用可能となります。Javaのクラス内で構造体を利用するには、クラスの内部に別ファイルで定義したClassを利用することで対応できますが、この方法だとファイルの数が増えてしまうことが欠点となります。
各クラスのロジックをコーディングする時に、一時的に構造体を使いたくても別にファイルを作成することが必要になってしまいます。
このような場合に、簡単に構造体を作る方法がわかりました。
このような場合、クラス定義のファイルに、一時的に利用する構造体を「final」を付けたクラスとして定義します。
final class xxx_item {
double key;
String value;
public xxx_item (double p1, String p2) {
key = p1;
value = p2;
}
}
public class xxx_list {
・・・・・・・
メソッドなどで
xxx_item temp = xxx_item(10,"aaaaa");
temp.key は、10
temp.value は、"aaaaa"
となります。
}
このようにすると、1つのクラス定義でも簡単に構造体を利用することが可能となります。
参考にしてやってみてください。
Java は制約が多いですね。これは参考になりました。
返信削除