Java~類,抽象類別和介面

來源:互聯網
上載者:User

標籤:屬性   ini   ora   logs   nis   技巧   類型   修改   刪除   

最近有空就著迷於java的世界,希望可以把自己的lind重構一個java版本出來,雖然遇到一些小問題,但也都解決了,還是那句話,知識需要積累,程式員需要一個追求!

  1. 抽象類別
  2. 介面
  3. 泛型類
  4. 泛型介面
  5. 非泛型類繼承泛型類後,輸出泛型的名稱

一 類,與C#類似,只是去除了屬性的概念,由方法去操作指定的欄位

package lind.Test;public class User extends Entity {    public User(int id, String name) {        super(1);        this.name = name;    }    private String name;    /**     * @return the name     */    public String getName() {        return name;    }    /**     * @param name     *            the name to set     */    public void setName(String name) {        this.name = name;    }}

二 抽象類別 一群組類型的抽象,公開一些方法和欄位供子類使用

package lind.Test;/** * 實體 *  * @author Administrator * */public abstract class Entity {    public Entity(int id) {        this.setId(id);    }    /**     * @return the id     */    public int getId() {        return Id;    }    /**     * @param id     *            the id to set     */    public void setId(int id) {        Id = id;    }    private int Id;}

三 介面 規定了一組操作的行為,如倉儲CURD操作,它可能會公開添加,刪除,修改,查詢等方法

package lind.Repository;import java.util.ArrayList;import java.util.function.Predicate;public interface IRepository<T> {    /**     * 添加     *      * @param entity     */    void Insert(T entity);    /**     * 更新     *      * @param entity     */    void Update(T entity);    /**     * 刪除     *      * @param entity     */    void Delete(T entity);    /**     * 返回列表     *      * @return     */    ArrayList<Object> GetModel(Predicate<T> predicate);    ArrayList<Object> GetModel();}

四 泛型類和泛型介面, 這個概念不如Csharp靈活,在使用過程中需要注意,當然含義還是一樣的,主要是對一類功能的抽象和代替,在實現時,直接傳對應的類型即可,一般我們的倉儲對象,如使用者倉儲,可以要繼承一個泛型的倉儲類,如下

package lind.Test;//使用者倉儲public class UserDao extends JdbcDaoSupport<User> {    }

五 非泛型類繼承泛型類後,輸出泛型的名稱

這是一個小技巧,主要是泛型類中去拿裡面的類型,需要注意的是,必須有一個非泛型類去繼承它,並執行個體化它,這個類型才可以被解析,這一點,確實無法和Csharp相比

 

感謝各位耐心的閱讀,下次我們將介紹Hash表!

 

Java~類,抽象類別和介面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.