关于实现、接口、重写、向上造型的一个综合性问题

2019-01-02 20:08发布

问题是:它们的代码实现不都是一样的吗,只是分别在不同的文件而已,不知道为什么它们的运行结果不同,请问能帮小弟我一下吗,主要是运行过程和不同是什么。

这是在一个文件中的

class Tool implements Exportable{
    public void export() {
        System.out.println("Tool::export");
    }
}
public class ReportTool extends Tool implements Exportable{

    public void export() {
        System.out.println("RTool::export");
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Tool aToll = new ReportTool();
        Tool btool = new Tool();
        callExport(aToll);
        callExport(btool);
    

        
    }

    public static void callExport(Exportable ex) {
        ex.export();
    }

}
interface Exportable{
    void export();
}

输出的结果为

RTool::export
Tool::export

这是分别在三个文件中的

public interface Exportable {
    void exprot();
}
public class ReportTool extends Tool implements Exportable {

    // 重写!
    public void export() { // line n2
        System.out.println("RTool::export");
    }

    public static void main(String[] args) {
        Tool aToll = new ReportTool();
        Tool bToll = new Tool();
        callExport(aToll);
        callExport(bToll);

    }

    private static void callExport(Exportable ex) {
        ex.exprot();
    }
}

class Tool implements Exportable{
    public void export() {
        System.out.println("Tool::export");
    }
}
public class ReportTool extends Tool implements Exportable{

    public void export() {
        System.out.println("RTool::export");
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Tool aToll = new ReportTool();
        Tool btool = new Tool();
        callExport(aToll);
        callExport(btool);
    

        
    }

    public static void callExport(Exportable ex) {
        ex.export();
    }

}

这个是输出结果

Tool::export
Tool::export

标签:
1条回答
大哥的爱人
2楼-- · 2019-01-02 20:42

为什么在我电脑上是对的?

你是不是搞错了

查看更多
登录 后发表回答