簡體   English   中英

未指定類型的Java接口

[英]Java interface without type specified

我對界面設計有疑問。 我將嘗試通過下面的簡單示例進行說明。

想象一下我有一個界面:

public interface TestInterface {

    public List getData();

}

我有一個實現類:

public class TestInterfaceImpl implements TestInterface{

    public List<Customer> getData() {
        return null; //will return a list of customers
    } 
}

我這個不好的設計是在沒有指定類型(列表)的接口中返回列表,然后在實現類(列表)中指定它?

謝謝-任何評論表示贊賞。

在任何新代碼中使用原始類型幾乎是一個壞主意。 而是, 參數化接口。

public interface TestInterface<T> {

    public List<T> getData();

}

public class TestInterfaceImpl implements TestInterface<Customer> {

    public List<Customer> getData() {
        return null; //will return a list of customers
    } 
}

如果您以前從未編寫過泛型類,或者不確定所有細節,那么Java教程的泛型課可能會有用。

您可能要使用參數化的iface:

public interface TestInterface<T> {

    public List<T> getData();

}

public class TestInterfaceImpl implements TestInterface<Customer> {

    public List<Customer> getData() {
        return null; //will return a list of customers
    } 
}

好吧,它本身並不是一個壞的設計,但是泛型是更好的,類型安全的設計:

//parametrize your interface with a general type T
public interface TestInterface<T> {
    public List<T> getData();
}

//pass a real type to an interface
public class TestInterfaceImpl implements TestInterface<Customer> {
    public List<Customer> getData() {
        return null; 
    } 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM