代码之家  ›  专栏  ›  技术社区  ›  Garrett

Java中的接口

  •  -1
  • Garrett  · 技术社区  · 17 年前

    在C中,通常使用如下方法:

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

    何处 IPerson “是由 Person , SpecialPerson 换句话说,尽管上面的方法返回 战略模式可以实现为 专门人员 返回以代替 ,前提是他们都使用 伊人 接口。

    这种事情在Java中可能吗?

    5 回复  |  直到 14 年前
        1
  •  7
  •   matt b    17 年前

    对。Java也有接口。

        2
  •  4
  •   user24081    17 年前

    是的,几乎是一样的…例如:

    // 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);
    }
    
        3
  •  3
  •   Jimmeh    17 年前

    我相信它几乎是相同的,除了Java使用接口的“实现”关键字。

        4
  •  2
  •   Jason Plank Maksim Kondratyuk    14 年前

    是的,Java的接口和C语言一样:

    public interface IPerson {
       ...
    }
    
        5
  •  1
  •   Fabian Steeg    17 年前

    Java等价物将是:

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

    在哪里? Person 是一个Java接口(前缀接口名称与字母“i”是COM编程的约定,因此不适合Java)。