这个接口和 class 是如何实现的?

How is this interface and class being implemented?

我是这个领域的新手。

这是一个代码片段:

JAXBContext jobj = JAXBContext.newInstance(Employee.class);

Marshaller mobj = jobj.createMarshaller();   

Employee emp1=new Employee(1,"Jordan",50000);  
  
mobj.marshal(emp1, new FileOutputStream("employee.xml")); 

现在我知道 JAXBContext 是一个抽象 class 而 Marshaller 是一个接口。

现在如何创建 Marshaller()(Return type Marshaller) return 一个 Marshaller 对象? JAXBContext 是否实现了 Marshaller?即使实施那么它是如何 returning 对象的?因为我试图在 class 中实现一个接口,然后创建了一个方法,该方法 return 是该接口的对象,但它抛出错误。

试图模拟:

接口: public界面

 Marshall {
    
    public Marshall marshaller();
    
    public int m();

}

Class:

public class JaxB implements Marshall{
    
    
    @Override
    public Marshall marshaller() {
        
        return new Marshall(); //error
        
    }

    public int m(){
        return 1;
    }

}

你能纠正我的 Class 吗?

只需在 class 中创建一个方法并添加带有要发送的参数的 return 语句,然后在要调用该方法的 Class 中创建一个对象它将接收方法的输出

这里是如何让一个方法return一个接口的实例:

interface Foo {}

class FooImplementation implements Foo {}

class FooFactory {
    Foo getFoo() {
        return new FooImplementation();
    } 
}