Class
日本語 | 階級 |
英語 | class |
ふりがな | くらす |
フリガナ | クラス |
クラスの情報を格納するクラス。
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.util.Class。
その名の通り、クラスの情報を格納するクラス。
主にリフレクションを行うために使用する。newInstance()メソッドで新しいインスタンスを作ることができ、getMethods()メソッドでメソッド一覧を格納するMethodクラスの配列を、getFields()メソッドでフィールド一覧を格納するFieldクラスの配列を取得することができる。
また、単純に「クラス名」をログに出力する場合等にも利用される。
Classクラスのインスタンスの取得方法は主に3通りの方法がある。
1つめは、「クラス名.class」とする方法。staticフィールドclassにはクラスのClassインスタンスが格納されている。「クラス名」を文字列リテラルで書きたくない場合に便利である。
2つめは、ObjectクラスのgetClass()メソッドを使用する方法。すでに存在するクラスのインスタンスから取得することができる。
3つめは、ClassクラスのforName()メソッドを使用する方法。このstaticメソッドに、パッケージ名も含めたクラス名を渡すことで取得することができる。
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.util.Class。
その名の通り、クラスの情報を格納するクラス。
主にリフレクションを行うために使用する。newInstance()メソッドで新しいインスタンスを作ることができ、getMethods()メソッドでメソッド一覧を格納するMethodクラスの配列を、getFields()メソッドでフィールド一覧を格納するFieldクラスの配列を取得することができる。
また、単純に「クラス名」をログに出力する場合等にも利用される。
Classクラスのインスタンスの取得方法は主に3通りの方法がある。
1つめは、「クラス名.class」とする方法。staticフィールドclassにはクラスのClassインスタンスが格納されている。「クラス名」を文字列リテラルで書きたくない場合に便利である。
2つめは、ObjectクラスのgetClass()メソッドを使用する方法。すでに存在するクラスのインスタンスから取得することができる。
3つめは、ClassクラスのforName()メソッドを使用する方法。このstaticメソッドに、パッケージ名も含めたクラス名を渡すことで取得することができる。
参考サイト
// Sample.java
import java.util.ArrayList;
public class Sample
{
public static void main( String[] args )
{
// このクラスの情報はclassフィールドに格納されています。
Class thisClass = Sample.class;
System.out.println( thisClass );
// class Sample
// たとえば、"Sample"って書きたくない時に使用します。
String thisClassName = thisClass.getName();
System.out.println( thisClassName );
// Sample
// string変数のClassクラスを取得します。
String string = "あいうえお";
Class stringClass = string.getClass();
System.out.println( stringClass );
// class java.lang.String
try
{
// ArrayListクラスを、名前から取得します。
Class arrayListClass = Class.forName( "java.util.ArrayList" );
System.out.println( arrayListClass );
// class java.util.ArrayList
// このクラスを作ります。
ArrayList arylst = (ArrayList)arrayListClass.newInstance();
arylst.add( "かきくけこ" );
System.out.println( arylst.get( 0 ) );
// あいうえお
}
catch( ClassNotFoundException e )
{
// ClassクラスのforName()メソッドで、クラスが存在しない場合に投げられます。
e.printStackTrace();
}
catch( InstantiationException e )
{
// ClassクラスのnewInstance()メソッドで、インスタンスが作れない場合に投げられます。
e.printStackTrace();
}
catch( IllegalAccessException e )
{
// ClassクラスのnewInstance()メソッドで、コンストラクタが呼べない場合に投げられます。
e.printStackTrace();
}
}
}
import java.util.ArrayList;
public class Sample
{
public static void main( String[] args )
{
// このクラスの情報はclassフィールドに格納されています。
Class thisClass = Sample.class;
System.out.println( thisClass );
// class Sample
// たとえば、"Sample"って書きたくない時に使用します。
String thisClassName = thisClass.getName();
System.out.println( thisClassName );
// Sample
// string変数のClassクラスを取得します。
String string = "あいうえお";
Class stringClass = string.getClass();
System.out.println( stringClass );
// class java.lang.String
try
{
// ArrayListクラスを、名前から取得します。
Class arrayListClass = Class.forName( "java.util.ArrayList" );
System.out.println( arrayListClass );
// class java.util.ArrayList
// このクラスを作ります。
ArrayList arylst = (ArrayList)arrayListClass.newInstance();
arylst.add( "かきくけこ" );
System.out.println( arylst.get( 0 ) );
// あいうえお
}
catch( ClassNotFoundException e )
{
// ClassクラスのforName()メソッドで、クラスが存在しない場合に投げられます。
e.printStackTrace();
}
catch( InstantiationException e )
{
// ClassクラスのnewInstance()メソッドで、インスタンスが作れない場合に投げられます。
e.printStackTrace();
}
catch( IllegalAccessException e )
{
// ClassクラスのnewInstance()メソッドで、コンストラクタが呼べない場合に投げられます。
e.printStackTrace();
}
}
}
// Sample.java import java.util.ArrayList; public class Sample { public static void main( String[] args ) { // このクラスの情報はclassフィールドに格納されています。 Class thisClass = Sample.class; System.out.println( thisClass ); // class Sample // たとえば、"Sample"って書きたくない時に使用します。 String thisClassName = thisClass.getName(); System.out.println( thisClassName ); // Sample // string変数のClassクラスを取得します。 String string = "あいうえお"; Class stringClass = string.getClass(); System.out.println( stringClass ); // class java.lang.String try { // ArrayListクラスを、名前から取得します。 Class arrayListClass = Class.forName( "java.util.ArrayList" ); System.out.println( arrayListClass ); // class java.util.ArrayList // このクラスを作ります。 ArrayList arylst = (ArrayList)arrayListClass.newInstance(); arylst.add( "かきくけこ" ); System.out.println( arylst.get( 0 ) ); // あいうえお } catch( ClassNotFoundException e ) { // ClassクラスのforName()メソッドで、クラスが存在しない場合に投げられます。 e.printStackTrace(); } catch( InstantiationException e ) { // ClassクラスのnewInstance()メソッドで、インスタンスが作れない場合に投げられます。 e.printStackTrace(); } catch( IllegalAccessException e ) { // ClassクラスのnewInstance()メソッドで、コンストラクタが呼べない場合に投げられます。 e.printStackTrace(); } } }
「みだし」に含まれているページ
「解説」に含まれているページ
「サンプルプログラムとか」に含まれているページ
- ,
- <T>
- @deprecated
- abstract
- abstractクラス
- abstractメソッド
- ArrayList
- catch
- Caused by
- Class
- ClassCastException
- ClassNotFoundException
- classフィールド
- Connection
- CREATE TABLE
- DELETE
- Deprecated
- ExceptionInInitializerError
- execute
- extends
- finalクラス
- finalメソッド
- friend
- getter
- getter/setter
- HashMap
- implements
- INSERT
- interface
- InvocationTargetException
- java
- JAVA
- java.sql.Date
- javac
- JDBC
- JDBCドライバ
- NoClassDefFoundError
- NOT NULL制約
- Object
- ObjectInputStream
- ObjectOutputStream
- package
- PreparedStatement
- private
- privateクラス
- privateフィールド
- privateメソッド
- protectedクラス
- protectedフィールド
- protectedメソッド
- publicクラス
- publicフィールド
- publicメソッド
- ResultSet
- RSS
- Rss4j
- SELECT
- Serializable
- setter
- SQL
- SQLException
- SQLインジェクション
- Statement
- staticクラス
- super
- superフィールド
- superメソッド
- synchronizedブロック
- synchronizedメソッド
- throws
- Timestamp
- toString
- transient
- UPDATE
- WHERE
- アクセサー
- アクセスコントロール
- インターフェイス
- イントロスペクション
- インポート宣言
- エンクロージングインスタンス
- オーバーライド
- カプセル化
- クエリー
- クラスパス
- クラスファイル
- クラスメンバ
- クラス修飾子
- クラス変数
- クラス宣言
- コネクション
- コミット
- コンクリートクラス
- コンパイルタイムエラー
- サブインターフェイス
- サブクラス
- ジェネリッククラス
- スタックトレース
- スーパーインターフェイス
- スーパークラス
- ソート
- ダウンキャスト
- テーブル
- デッドロック
- データベース
- トランザクション
- ネストクラス
- パッケージ
- パッケージ宣言
- フィールド
- フィールド宣言
- ブロック
- プリペアードステートメント
- マニフェストファイル
- メソッド
- リフレクション
- レコード
- ロック
- ローカルクラス
- ロールバック
- 主キー
- 内部クラス
- 列
- 制約
- 同期
- 外部クラス
- 子クラス
- 実装
- 実装クラス
- 抽象クラス
- 抽象メソッド
- 排他
- 推奨されていません
- 派生クラス
- 無印クラス
- 無印フィールド
- 無印メソッド
- 直列化
- 継承
- 行
- 親クラス
- 隠蔽