繁体   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