java - 与comapreTo的接口,子类使用自己覆盖

时间:2017-07-21 03:56:39

标签: java interface parent-child compareto

我有一个接口,我希望有一个被孩子们覆盖的compareTo,以便将孩子作为比较的基础。例如:

父:

public interface Parent extends Comparable<Parent> {
    @Override
    int compareTo(Parent o);
}

子:

public class Child implements Parent {
    @Override
    public int compareTo(Child o) {
        //  do things
    }
}

用法:

Parent a = new Child();
Parent b = new Child();
a.compareTo(b); // uses the child compareTo

像上面这样的东西是我想要完成的。事实上,孩子并不认为有什么可以覆盖。需要改变什么?感谢。

2 个答案:

答案 0 :(得分:0)

这种事情在Java中无法实现。

在家长中,你有

int compareTo(Parent o)

在Child,你有

int compareTo(Child o)

鉴于它们接受不同的参数,它们是重载方法。

答案 1 :(得分:0)

// Controller

public function index()
{
    $roles = Roles::all();
    $selectedRole = User::first()->role_id;

    return view('my_view', compact('roles', 'selectedRole');
}

打印---有效 不确定你是否正在寻找这个。