構造体
| 日本語 | 構造体 |
| 英語 | struct、structure |
| ふりがな | こうぞうたい |
| フリガナ | コウゾウタイ |
publicフィールドのみのクラス。
C言語、C++言語に存在する型。
structという予約語で定義する。C++言語では、同様のものをクラスで実現できる。
全てのメンバ変数(Javaのフィールド)がpublicのクラス。
よって、C言語の構造体をJavaに移植する場合には、全てpublicフィールドのクラスを作成すればよい。
だがこれは、当然カプセル化を無視したクラスであり、推奨できない。
工数が許すのならgetter/setterメソッドを作成し、各フィールドをprivateフィールドにすることを強く勧める。
C言語、C++言語に存在する型。
structという予約語で定義する。C++言語では、同様のものをクラスで実現できる。
全てのメンバ変数(Javaのフィールド)がpublicのクラス。
よって、C言語の構造体をJavaに移植する場合には、全てpublicフィールドのクラスを作成すればよい。
だがこれは、当然カプセル化を無視したクラスであり、推奨できない。
工数が許すのならgetter/setterメソッドを作成し、各フィールドをprivateフィールドにすることを強く勧める。
参考サイト
- (参考サイトはありません)
// Sample.java
public class Sample
{
public static void main( String[] args )
{
// 構造体もどきを使います。
Struct struct = new Struct();
struct.value1 = 100;
struct.value2 = 200;
struct.value3 = 300;
System.out.println( struct.value1 );
System.out.println( struct.value2 );
System.out.println( struct.value3 );
// 100
// 200
// 300
}
}
/**
* 構造体もどき。
*/
class Struct
{
// 全てpublicフィールドにします。
public int value1;
public int value2;
public int value3;
}
public class Sample
{
public static void main( String[] args )
{
// 構造体もどきを使います。
Struct struct = new Struct();
struct.value1 = 100;
struct.value2 = 200;
struct.value3 = 300;
System.out.println( struct.value1 );
System.out.println( struct.value2 );
System.out.println( struct.value3 );
// 100
// 200
// 300
}
}
/**
* 構造体もどき。
*/
class Struct
{
// 全てpublicフィールドにします。
public int value1;
public int value2;
public int value3;
}
// Sample.java
public class Sample
{
public static void main( String[] args )
{
// 構造体もどきを使います。
Struct struct = new Struct();
struct.value1 = 100;
struct.value2 = 200;
struct.value3 = 300;
System.out.println( struct.value1 );
System.out.println( struct.value2 );
System.out.println( struct.value3 );
// 100
// 200
// 300
}
}
/**
* 構造体もどき。
*/
class Struct
{
// 全てpublicフィールドにします。
public int value1;
public int value2;
public int value3;
}




