Java中的接口

时间:2009-04-23 12:56:36

标签: c# java interface

在C#中,通常有这样的方法:

public IPerson GetPerson()
{
  // do stuff
  return new Person(..);
}

其中“IPerson”是PersonSpecialPerson等使用的界面。换句话说,虽然上述方法返回Person,但策略模式可以如果他们都使用SpecialPerson界面,则实施Person代替IPerson

这种事情在Java中是否可行?

5 个答案:

答案 0 :(得分:7)

是。 Java也有接口。

答案 1 :(得分:4)

是的,它几乎一样......例如:

// Interface
public interface IPerson {
    public String getName();
}

// Implementation of interface - NB "implements" keyword
public class Person implements IPerson {
    private final String myName;

    public Person(String name) {
        myName = name;
    }

    public String getName() {
        return myName;
    }
}

// Method returning interface
public IPerson getPerson(String name) {
    return new Person(name);
}

答案 2 :(得分:3)

我认为它几乎是相同的,除了Java使用接口的“implements”关键字。

答案 3 :(得分:2)

是的,Java的接口就像C#:

public interface IPerson {
   ...
}

答案 4 :(得分:1)

Java等价物将是:

public Person getPerson()
{
  // do stuff
  return new SpecialPerson(..);
}

其中Person是Java接口(带有字母“I”的接口名称前缀是COM编程的约定,因此不适合Java)。