0

编写一个名为 Nameable 的接口,指定以下方法:

public void setName(String n)
public String getName()

这就是我得到的:

 public interface Nameable{     
     public void setName(String n){         
                n =name;     }    
        public String getName() {
                  return n;    } }

这是正确的还是有更好的方法?

4

4 回答 4

6

接口没有指定实现,所以不,这是不正确的。

您必须将可用方法(接口)和实现(类)的定义分开:

public interface Nameable{     
     public void setName(String n); 
     public String getName();
}

public class Named implements Nameable {
      private String name;
      public void setName(String n){         
          this.name = n;
     }    
     public String getName() {
        return this.name;
    }
}
于 2012-10-11T17:32:55.573 回答
2

不,您没有在界面中定义方法,您只需声明它们。稍后实现该接口的类提供该方法的实现。

这是正确的还是有更好的方法?

更好的方法?是的。复制此代码并粘贴到您喜欢的 IDE 中。它会告诉你你错在哪里,有这么多Red-Marks

如果您创建这样的界面, IDE 之类的Eclipse突然开始尖叫,您可以告诉它为您更正它。然后你就可以看到魔法了。

于 2012-10-11T17:33:06.003 回答
0

您的代码将为您提供Abstract methods do not specify a body.

接口的所有方法都是默认abstract的,抽象方法没有主体,看这里抽象

Aninterface是一组具有空主体的相关方法,但是在您的代码中,所有具有主体的方法都不会编译,请查看接口如何工作

更多关于维基

于 2012-10-12T05:04:26.777 回答
0

您必须记住,接口只提供方法声明,不提供实现。这取决于实现的类。

public interface Nameable
{  
     public void setName(String n);
     public String getName();
}
public class NameableImplmentation implments Nameable
{
     public void setName(String n)
     {         
         //insert code    
     }    
     public String getName() 
     {
         //insert code
     } 
}
于 2012-10-11T17:37:25.253 回答