在Java中定义接口中类的能力的实际方面?

2022-09-04 23:57:03

在Java中定义接口中的类的能力的实际方面是什么:

interface IFoo
{
    class Bar
    {
        void foobar ()
        {
            System.out.println("foobaring...");
        }
    }
}

答案 1

我可以想到另一种用法,而不是Eric P链接的用法:定义接口的默认/无操作实现。

./亚历克斯

interface IEmployee
{

    void workHard ();  
    void procrastinate ();

    class DefaultEmployee implements IEmployee 
    {
        void workHard () { procrastinate(); };
        void procrastinate () {};
    }

}

另一个示例 — Null 对象模式的实现:

interface IFoo
{
    void doFoo();
    IFoo NULL_FOO = new NullFoo();

    final class NullFoo implements IFoo
    {
        public void doFoo () {};
        private NullFoo ()  {};
    }
}


...
IFoo foo = IFoo.NULL_FOO;
...
bar.addFooListener (foo);
...

答案 2

我认为这个页面很好地解释了一个例子。您可以使用它将特定类型紧密绑定到接口。

无耻地从上面的链接中扯掉了:

interface employee{
    class Role{
          public String rolename;
          public int roleId;
     }
    Role getRole();
    // other methods
}

在上面的界面中,您将角色类型强绑定到员工接口(employee.角色)。