天天看點

接口的多繼承與包

接口:

Java裡類與類之間是隻能單繼承的,但是接口和接口之間可以多繼承,而且一個類可以實作N個接口。例如:

<a href="https://s2.51cto.com/oss/201710/19/d124efe7c963732630d7434e9b7ce8d4.png" target="_blank"></a>

實作多個接口:

<a href="https://s4.51cto.com/oss/201710/19/7d32d787dfaaa15a3c652e786cbf84a0.png" target="_blank"></a>

包:

  包類似于檔案夾,用于分類避免檔案混淆,保持工程檔案的整齊性。一個檔案裡最好申請一個類,不然一個檔案裡申請多個類的話也是一樣會生成單獨的class檔案,而且查找這個類的時候也不友善,是以盡量一個類一個檔案。

<a href="https://s1.51cto.com/oss/201710/19/29064a3d2b5cbdaa29208e5b57fe6800.png" target="_blank"></a>

什麼時候申請一個類,什麼時候申請一個方法:

一件事情申請一個類,一件小事情申請一個方法。因為方法完成事情的一部分,類完成一件完整的事情。

<a href="https://s5.51cto.com/oss/201710/19/a8d7738da8ac21b405ee03179c00554f.png" target="_blank"></a>

包的聲明方式:

 包名全小寫,盡量使用字母:

  com表示盈利公司 後面跟着公司名稱,接着是項目或業務分塊名稱。例如:

<a href="https://s2.51cto.com/oss/201710/19/59729492a13336e6435c02d5ddf8ec7b.png" target="_blank"></a>

org則表示協會,非盈利的機構  後面跟着協會名稱,接着是項目或業務分塊名稱。例如:

<a href="https://s3.51cto.com/oss/201710/19/841e9cd679d7e89f770df25d28837631.png" target="_blank"></a>

一些常用的包:

Java.lang  工具類包

Java.util   時間,集合

Java.io    檔案流

Java.net   網絡連接配接

Java.awt   圖形化

Javax.swing圖形化

Java.sql    資料庫操作 JDBC

Javax.sql   資料源

引包:

  在一個包的類裡先想對這個包外的類進行通路的話,就需要使用import關鍵字導入那個包,或者使用全名(包名+類名),才可以進行通路。例如:

<a href="https://s4.51cto.com/oss/201710/19/1a001eae5909149c2c7b9a4a01a9fd65.png" target="_blank"></a>

<a href="https://s3.51cto.com/oss/201710/19/f30061979b237c4354125c637226aeba.png" target="_blank"></a>

在目前的包裡有一個類與導入包裡的類重名的話,是優先通路導入的類。例如:

<a href="https://s2.51cto.com/oss/201710/19/d4a8073f20c3295ac52ffef1161f822b.png" target="_blank"></a>

<a href="https://s1.51cto.com/oss/201710/19/5209b514e971af95103370cbea8aebff.png" target="_blank"></a>

<a href="https://s5.51cto.com/oss/201710/19/53ba8cb259b83812d83abc0dffc37cce.png" target="_blank"></a>

還有一種優先級最低的導入包的方式,用這個方式是優先通路目前包下的類。例如:

<a href="https://s2.51cto.com/oss/201710/19/3b9a5b8c68745d9e14c01d5b2f448437.png" target="_blank"></a>

<a href="https://s5.51cto.com/oss/201710/19/ce43164ace9b11522006bac881bdb82b.png" target="_blank"></a>

搜尋類的優先級:

    import com.ibm.name.Mouse;

    有導入的包先找導入的包裡的類

  目前包下查找

  導入包沒有找目前包下的類

    import com.ibm.name.*;

    最後都沒有才找這個方式導入的包裡的類

本文轉自 ZeroOne01 51CTO部落格,原文連結:http://blog.51cto.com/zero01/1974345,如需轉載請自行聯系原作者