演算法16 啊哈演算法 廣度優先搜尋( Breadth First Search, BFS) 迷宮問題 JAVA
阿新 • • 發佈:2021-11-11
抽象類
- abstract修飾符可以用來修飾方法,也可以用來修飾類,修飾方法就是抽象方法,修飾類就是抽象類
- 抽象類中可以沒有抽象方法,但是抽象方法的類一定要宣告為抽象類
- 抽象類,不能使用new關鍵字來建立物件,它使用來讓子類繼承的
- 抽象方法,只有方法的宣告,沒有方法的實現,它是用來讓子類實現的
- 子類繼承抽象類,那麼就必須要實現抽象類沒有實現的抽象方法,否則該子類也要宣告為抽象類
//abstract 抽象類 //extends: 單繼承 (介面可以實現多繼承) public abstract class Action { //約束~有人幫我們實現~ //abstract ,抽象方法,只有方法名字,沒有方法的實現 public abstract void doSomething(); //1.不能new這個抽象類,只能靠子類去實現它:約束 //2.抽象類裡可以寫普通方法,抽象方法必須寫在抽象類中 //抽象的抽象:約束 //抽象類存在的意義:提高開發效率,後期擴充套件性高 } =================================== //抽象類的所有方法,繼承了它的子類,都必須要實現它的方法~ //除非該子類也為抽象類,那麼就需要由該子類的子類去實現該抽象方法 public class A extends Action{ @Override public void doSomething() { } }
介面
-
普通類:只有具體實現
-
抽象類:具體實現和規範(抽象方法)都有
-
介面:只有規範,自己無法寫方法專業的約束!約束和實現分離:面向介面程式設計
-
介面就是規範,定義的是一組規則
-
介面的本質是契約,就像我們人間的法律一樣,制定好後大家都遵守
-
面向物件(OO)的精髓,是對物件的抽象
-
宣告類的關鍵字是class,宣告介面的關鍵字是interface
-
介面作用:
1. 是一種約束
2. 介面中可以定義一些方法,讓不同的人實現~ 10--->1
3. 介面中定義的方法都是public abstract
4. 介面中定義的屬性(常量)都是public static final
5. 介面不能被例項化,介面中沒有構造方法
6. 一個類使用implements可以同時實現多個介面(多繼承)
7. 一個類要實現一個介面,則必須重寫介面中的方法~
//抽象的思維~ java //interface 定義的關鍵字,介面都需要有實現類 public interface UserService { //介面中定義的所有屬性都是常量~ public static final public static final int AGE = 99; //介面中的所有定義其實都是抽象的 public abstract public abstract void run(String name); void add(String name); void delete(String name); void update(String name); void query(String name); } ======================================================== public interface TimeService { void timer(); } ======================================================== //抽象類:extends~ //類 可以實現介面 implements 介面 //實現了介面的類,就需要重寫介面中的方法~ //多繼承~利用介面實現多繼承~ public class UserServiceImpl implements UserService,TimeService{ @Override public void run(String name) { } @Override public void add(String name) { } @Override public void delete(String name) { } @Override public void update(String name) { } @Override public void query(String name) { } @Override public void timer() { } }