静的変形を用いる方法は、静的メソッドまたはクラスのメソッドです。
静的メソッドは、特定のオブジェクトに属していません。
まず、クラスを作成し、静的な荷重いるので、以前の工法よりも、非静的プロパティとメソッドのこの時間は、初期化を完了していません。
そう:
で内部の静的メソッドを直接非静的メソッドを呼び出すことができないことにより、非静的メソッドがオブジェクトによって呼び出される、オブジェクトの最初のインスタンス、および、
非静的メソッドを呼び出すことにより、静的メソッドを呼び出すことができますで()またはクラス名。メソッド名メソッド名()。
ます。public voidショー(){
//DuotaiTest.func(new動物())。
//同等に
FUNC(新しい動物());
}
注:メインのメソッドは静的メソッドです。
輸入javax.xml.catalog.Catalog; パブリッククラスDuotaiTest { パブリック静的無効メイン(文字列[] args){ // FUNC(新しい動物()); // FUNC(新しい猫()); //エラー:(3,9)は、Java:静的コンテキストから非静的メソッドFUNC(動物)を参照することができません DuotaiTestトン=新しいDuotaiTest(); / * t.func(新しい動物()); System.out.println( "------"); t.func(新しい犬()); System.out.println( "---------"); t.func(新しい猫()); * / t.show(); } パブリック静的ボイドFUNC(動物A){//動物=新しい犬()。 a.eat(); a.jump(); IF(instanceofの犬){ 犬D =(犬) //((犬)).wang(); d.wang(); } IF(instanceofの猫){ 猫C =(CAT)。 c.catchMouse(); } IF(instanceofの動物){ System.out.println(「我々は動物です」)。 } } ます。public voidショー(){ //DuotaiTest.func(new動物())。 //同等に FUNC(新しい動物()); } } クラス動物{ 文字列の名前。 int型の年齢; 公共のボイド(食べます){ System.out.println(「食べ物を探し動物」); } ます。public voidジャンプ(){ System.out.println( "アニマルポップロックス"); } } クラス犬{動物を拡張します 公共のボイド(食べます){ System.out.println( "犬の骨を食べます"); } ます。public voidジャンプ(){ System.out.println( "コーナー"); } ます。public void王(){ System.out.println( "吠える犬"); } } クラス猫{動物を拡張します 公共のボイド(食べます){ System.out.println( "猫の魚"); } ます。public voidジャンプ(){ System.out.println( "猫クライミング"); } ます。public void catchMouse(){ System.out.println( "猫がニャー"); } }