Java:如何调用在接口中实现另一个方法的方法?

Java:如何调用在接口中实现另一个方法的方法?,java,methods,interface,Java,Methods,Interface,假设我有这个方法,它是目录接口的一部分 public interface Directory { public void insertEntry(Entry entry, String surname); public class ArrayDirectory implements Directory { public void insertEntry(Entry entry, String surname) { System.out.printl

假设我有这个方法,它是目录接口的一部分

public interface Directory {

    public void insertEntry(Entry entry, String surname);
public class ArrayDirectory implements Directory 
{
    public void insertEntry(Entry entry, String surname) 
    {
        System.out.println( "Doing insertEntry work." ) ;
        …
    }
}
然后我创建了一个名为
arrayDirectory
的单独类,它在
目录中实现了相同的方法。
然后如何在
arrayDirectory
类中调用此方法?因为我试图在main中调用它,但是为了做到这一点,该方法必须是静态的,它不能是静态的,因为这样它就不会从接口实现该方法,并且我不允许更改接口中方法的方法签名。请帮帮我,我不知道该怎么办。

实现
将类定义为实现该接口。使用关键字
实现

此外,在Java约定中,类名以大写字母开头。因此,请将类命名为
ArrayDirectory
,而不是
ArrayDirectory

public void insertEntry(Entry entry, String surname) {
}
多态性 现在通过
new
通过对象使用该类。如果只调用接口上定义的方法,请将该对象称为类而不是具体类

public interface Directory {

    public void insertEntry(Entry entry, String surname);
public class ArrayDirectory implements Directory 
{
    public void insertEntry(Entry entry, String surname) 
    {
        System.out.println( "Doing insertEntry work." ) ;
        …
    }
}
这种技术被称为(“许多形状”)。
对象可能被称为更通用的
动物
圆形
对象和
矩形
都可以称为
形状
InternationalShippingLabel
DomesticShippingLabel
都可以称为
ShippingLabel
PreferredCustomer
StandardCustomer
类都可以实现
Customer
接口

动态调度 然后调用该对象上的方法

Directory directory = new ArrayDirectory() ; 
通过的魔力,JVM在运行时在
ArrayDirectory
类上找到要执行的必要代码

顺便说一下,注意这里的命名约定。类名以大写字母开头,而对象(实际上是引用变量)以小写字母开头。而且,仅供参考,Java命名使用了全部Unicode字符(法语、日语等),而不仅仅是英语ASCII字符

抽象类
如果不同的类有一些重复的代码,那么将它们的共享接口改为抽象类。然后可以将重复的代码移动到抽象类中。这样,当您以后进行审阅或维护工作时,您只有地方查找、研究和修复该代码。

您需要创建该类的实例,并对该实例调用您的方法;并调用类似于d.insertEntry()的方法;