[英]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.