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