什么是从接口实例化的对象

Mik*_* S. 2 java interface

有这样的界面:

public interface Person {
    public String getName();
}
Run Code Online (Sandbox Code Playgroud)

然后有一个类Student实现Person:

public class Student implements Person {

    private int id;
    private String name;

    public setId(int id) {
        this.id = id;
    }

    public getId() {
        return id;
    }

    public setName(String name) {
        this.name = name;
    }

    public getName() {
        return name;
    }

}
Run Code Online (Sandbox Code Playgroud)

Person运行时的实例会是什么样的?我如何实例化?

Kon*_*kov 8

您无法实例化接口.

您可以做的是实例化接口的实现 - 在您的情况下,Student.

Person s = new Student();
Run Code Online (Sandbox Code Playgroud)

在这种情况下,s将实现Person,您可以使用以下命令进行检查:

boolean isPerson = (s instanceof Person);
Run Code Online (Sandbox Code Playgroud)

将被评估为 true