1、單例模式java
1.單例模式的缺點:單例模式的類型沒有子類,沒法被繼承。node
例如:下面的例子,因爲父類的構造方法是私有的,因此子類中的構造方法是沒法建立的,由於它是引用父類的構造方法git
package com.bjpowernode.java_learning; public class D52_1_ { public static void main(String[] args) { HttpServlet52 h1 = new HttpServlet52(); } } class Servlet52{ private Servlet52() {} } class HttpServlet52 extends Servlet52{ }
2、抽象類github
1.如何定義抽象類微信
class關鍵字前面加上abstract學習
2.抽象類沒法被實例化大數據
3.雖然抽象類沒有辦法實例化,可是抽象類也有構造方法,該構造方法是給子類建立對象用的。ui
4.抽象類中能夠定義抽象方法spa
抽象方法的語法:.net
在方法的修飾符列表中添加abstract關鍵字,而且抽象方法應該以「;「結束,不能帶有"{}",例如:public abstract void m1();
5.抽象類中不必定有抽象方法,可是抽象方法必須出如今抽象類中,所以繼承抽象類的子類中必須將父類中的抽象方法覆蓋(若是有抽象方法的話)
6.一個非抽象的類繼承抽象類,必須將抽象類中的抽象方法進行覆蓋,實現,重寫。
package com.bjpowernode.java_learning; public abstract class D52_2_AbstractClass { //Constructor D52_2_AbstractClass(){ System.out.println("A......"); } public abstract void m1();//抽象方法 public static void main(String[] args) { D52_2_AbstractClass d1 = new B52(); } } class B52 extends D52_2_AbstractClass{ B52(){ //這裏省略了super(),實際上默認是有的,父類的構造方法雖然調用了,可是並無建立父類對象。 System.out.println("B......"); } public void m1() {}; }
5、源碼:
D52_1_SingleMode.java
D52_2_AbstractClass.java
地址:
https://github.com/ruigege66/Java/blob/master/D52_1_SingleMode.java
https://github.com/ruigege66/Java/blob/master/D52_2_AbstractClass.java
2.CSDN:https://blog.csdn.net/weixin_44630050(心悅君兮君不知-睿)
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關注微信公衆號:傅里葉變換,我的公衆號,僅用於學習交流,後臺回覆」禮包「,獲取大數據學習資料