接口没有构造方法,子类怎么实例化对象

95 阅读1分钟

在Java中,接口是一种抽象的类型,它只包含了一组抽象方法和常量定义,并且不能被直接实例化。因此,接口没有构造方法。

如果你要实例化一个接口类型的对象,你需要使用一个实现该接口的类来创建对象。这个实现类需要提供接口中定义的所有方法的具体实现。

假设有这样一个接口定义:

csharp
复制代码
public interface MyInterface {
    void doSomething();
    int getSomething();
}

我们可以定义一个实现该接口的类:

csharp
复制代码
public class MyClass implements MyInterface {
    public void doSomething() {
        System.out.println("Doing something...");
    }
    
    public int getSomething() {
        return 42;
    }
}

现在,我们可以使用这个实现类来创建一个接口类型的对象:

ini
复制代码
MyInterface obj = new MyClass();
obj.doSomething();
int value = obj.getSomething();

这样做的好处是,我们可以使用接口类型的引用来引用这个对象,这样我们就可以访问接口中定义的所有方法,而不需要知道具体实现类的名称。