java - 如何使用抽象类在java中使用多态性?

标签 java class inheritance polymorphism abstract

我有一个名为 Parent 的抽象类,其中包含 2 个抽象方法,我想在扩展 Parent 类的其他类中重写它们。

这是我的代码:

abstract class Parent<T>
{
    public T a[];
    public abstract void sort(T a[]);
    public abstract void searc(T a[]);
}

class B_Sort<T> extends Parent<T>
{

    @Override
    public  void sort(T[] a) {
        for(int i =1; i< a.length; i++){
            for(int j = 0; j < (a.length - i); j ++){
                if((((Comparable) (a[j])).compareTo(a[j+1])) > 0){
                    T tmp = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = tmp;
                }                
            }
        }
    }

    @Override
    public void searc(T[] a) {
    }

}

这是我运行程序的主类和主要方法:

public class ProjectX 
{
    public static void main(String[] args) {
        int [] a={2,3,1,5};
        Parent<Integer> cc=new B_Sort<>();
        cc.sort(a);        
    }    
}

但是,cc.sort(a) 无法正常工作,并且我在该行上收到错误。我的程序没有运行!!为什么这是不正确的?

最佳答案

尝试改变

int [] a={2,3,1,5};

Integer [] a={2,3,1,5};

基元数组(例如int[])无法自动转换为包含这些基元的装箱版本(Integer[])的数组。

关于java - 如何使用抽象类在java中使用多态性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27078345/

相关文章:

java - Jsoup 在指定标签后开始解析还是从页面底部开始?

c# - MonoDroid 值得付出努力吗?

C++ 继承错误

ruby-on-rails - 通过继承检索的记录上调用ActiveRecord::Relation的未定义方法 `update_attribute'

django add_to_class() 使模型继承/MRO 工作出错

JAVA GC 主要 GC 与次要 GC

java - 延迟加载无法正常工作

c++ - C++难以从深层内部类访问方法

javascript - 如何制作可以在多个级别引用的类/对象

python - 从python中的 `object`派生类