単一のパターンは、二つのケースに分けられます。
(1)一例を飢え:クラスローディング段階は、オブジェクトを作成します。
(2)遅延単例:オブジェクトがオブジェクトを作成するために時間を使用します。(実施例53は、遅延式にシリアル化されます)
式を飢え例:
パッケージcom.bjpowernode.java_learning; パブリック クラスD54_1_HungtySingtonMode { 公共 静的 ボイドメイン(文字列[]引数){ Customer54 C1 = Customer54.getCustomer54()。 Customer54 C2 = Customer54.getCustomer54()。 System.out.println(C == C2)。 } } // 饿汉式单例模式 クラスCustomer54 { プライベート 静的 Customer54のC = 新しいCustomer54()。 プライベートCustomer54(){} パブリック 静的Customer54 getCustomer54(){ リターンC; } }
第二に、インタフェースはまた、参照型であり、クラスは等価であると見ることができます
インターフェイス、構文を定義する方法1.:
[修飾] インターフェースインターフェース名()
定数、抽象メソッド:2.インタフェースにのみ表示されます
3.実際には、インタフェースは特殊なインターフェースが完全に抽象的で、特別な抽象クラスです
前記インターフェースの方法が設定されていない、それがインスタンス化できません
継承は複数とすることができインターフェイスとの間のインタフェース5
6. Aクラスは、複数のインターフェイスを実装することができます。(ここでは「実現は、」「継承」と同等と見なすことができます)
7. A非抽象クラスが実装インタフェース、インタフェースは、「実装/書き換え/カバレッジ」すべてのメソッドが必要になります
パッケージcom.bjpowernode.java_learning; パブリック インターフェイスD54_2_InterfaceExerciseを{ パブリック 静的 最終列= SUCCESS「成功事例の」; パブリック 静的 最終 ダブル PI = 3.1415926 ; // パブリック静的知られているような最終的な構文規則ので、界面に省略することができる、唯一のそれは一定にすることができる バイト MAX_VALUE = 127 ; パブリック 抽象 ボイド M54(); // 抽象メソッド ボイド ; test54()// これは抽象パブリック抽象メソッドを省略することができるされています。同じ理由 } インターフェースB54 { ボイドM2(); } インターフェースC54 { ボイドM3を(); } インターフェースD54 { ボイドM4を(); } インターフェース E53 延びB54、C54を、D54 { ボイドM5(); } // 実装は、平均達成される // ので、単一継承クラスためここに達成するために、新しいキーワードを実装し たクラス MyClassの実装をB54、C54 { 公共 空平方メートル(){} // 平方メートルの元抽象メソッドであるため、ここでは、新しいクラスは、平方メートルメソッド上書きされてい 公共 のボイドM3を(){} } クラス F54 実装E54 { 公共 ボイドM2(){} 公共 ボイドM3(){} 公共 ボイドM4(){} 公共 ボイドM5(){} }
私たちは、上記の7の構文に従った例がありました。
第三に、インタフェースの役割(例を見て、次の要約を言います)
パッケージcom.bjpowernode.java_learning; パブリック インターフェイスD54_3_CustomerService { ボイドログアウト(); }
パッケージはcom.bjpowernode.java_learning、 パブリック クラスD54_4_ImplementCustomer { 公共 静的 ボイドメイン(文字列[]引数){ // ための呼び出しには、次のプログラム・インターフェース D54_3_CustomerService D1 = 新しい新しい D54_4_ImplementCustomerService(); // 多型 d1.logoutを(); / / クラス、インタフェース型の基礎となる底部が実際のコールタイプ、実際のクラスで使用される方法であるため、この方法は、インターフェースで使用することができる } } クラス D54_4_ImplementCustomerService 実装しD54_3_CustomerService { // 抽象インタフェースメソッドを実装する 公衆 空ジンバブエログアウト(){ System.out.printlnは(「システムを正常に終了!」); } }
第四に、ソースコード:
D54_1_HungtySingtonMode.java
D54_2_InterfaceExercise.java
D54_3_CustomerService.java
D54_4_ImplementCustomer.java
住所:
https://github.com/ruigege66/Java/blob/master/D54_1_HungtySingtonMode.java
https://github.com/ruigege66/Java/blob/master/D54_2_InterfaceExercise.java
https://github.com/ruigege66/Java/blob/master/D54_3_CustomerService.java
https://github.com/ruigege66/Java/blob/master/D54_4_ImplementCustomer.java
2.CSDNます。https://blog.csdn.net/weixin_44630050(西6月6月ムードが知らない - ルイを)
3.パークブログます。https://www.cnblogs.com/ruigege0000/
4.歓迎マイクロチャンネル公衆数に焦点を当て:フーリエ変換材料を学ぶビッグデータを取得するために、唯一の交流を学ぶために、舞台裏の返信「贈り物」をパブリック個人番号を変換