Javaがオブジェクト指向のプログラミング言語であることを誰もが知っています。 Javaの世界では、すべてがオブジェクトです。そのJavaのオブジェクトをどのように表現しますか?クラス
Javaのオブジェクトはオブジェクトクラスのサブクラスであることがわかっているため、今日はJavaでのクラスの使用を一緒に研究します。
小さな質問:クラスはオブジェクトですか?クラスは誰のオブジェクトですか?答えは次のとおりです。クラスはオブジェクトであり、java.lang.classクラスの強度オブジェクトです。
パッケージcom.edu.hpu;
public class test {public static void main(string [] args){// new foo foo = new foo()によってオブジェクトをインスタンス化する; //オブジェクトクラスのgetClass()メソッドをインスタンス化することにより、クラスクラスのインスタンスを取得します= foo.getClass(); //どのクラスにも暗黙の静的変数クラスC2 = foo.classがあります。 // C1およびC2は、FOOクラスのクラスタイプ(クラスタイプ)System.out.Println(C1 == C2)を表します。クラスC3 = null; {// 3番目の方法を試して、クラスC3 = class.forname( "com.edu.hpu.foo")のクラスタイプを取得します。 } catch(classNotFoundException e){e.printstacktrace(); } system.out.println(c1 == c3); try {//クラスタイプfoo c4 =(foo)c1.newinstance()を介してクラスのインスタンスオブジェクトを作成します。 c4.start(); } catch(instantiationexception e){e.printstacktrace(); } catch(Illegalaccessexception e){e.printstacktrace(); }}} class foo {public void start(){system.out.println( "foo class"); }}上記のコードを通して、クラスをより深く理解していますか?新しいキーワードを介してクラスインスタンスオブジェクトを作成することもできます。また、クラスタイプを介してクラスインスタンスオブジェクトを作成することもできます。クラスクラスタイプを取得するには、上記の方法には3つのフォームがあります。 C1 == C2 == C3:TRUEを取得するため、1つのクラスタイプのみを取得します。
上記の簡単な紹介の後、Javaのクラスをより深く理解していますか?小さな例を使用して、クラスタイプとクラスインスタンスの実際の使用を紹介しましょう。
クラスオフィス{public static void main(string [] args){if( "word" .equals(args [0])){word w = new word(); w.start(); } if( "excel" .equals(args [0])){excel e = new excel(); e.Start(); }}}上記のコードを見てみましょう。コンパイルするとき、それは正常に通過できますか?ここでは、コンパイルと操作について説明する必要があります。コンパイル時間にロードされたクラスは、静的な負荷クラスです。実行時にロードされるクラスは、動的荷重クラスです。 class.forname( "クラスLの氏名");クラスタイプを表すだけでなく、動的荷重クラスも表します。上記の例では、必ずしもWordとExcelを使用するとは限りませんが、コンパイルすると、WordとExcelが存在しない場合、エラーが発生します。次に、クラスタイプを動的にロードすることにより、上記のロジックを実装します。
class office {public static void main(string [] args){try {class c = class.forname(args [0]);司会可能なoa =(officable)c.newinstance(); oa.write(); } catch(例外e){e.printstacktrace();}}} interface officable {public void write();} class wordは司会可能{public void write(){system.out.println( "word ... start ..."); }} class excelは司会可能{public void write(){system.out.println( "excel..write .."); }}このようにして、アプリケーションの機能の拡張を容易にするために、必要に応じてクラスを動的に追加できます。