*泛型--包含用泛型写的冒泡排序,抽象类,接口

泛型这节课可以多听几遍

泛型常用形式:
比如mazenode中需要stack存储二维数组,puzzle里需要stack存储一维数组,但是mystack的功能都是一样的,所以为了让代码更通用可以设置成 Class MyStack{ }
T是一个未知的类型,称为泛型,只在编译期有效 进行类型安全监测
在运行期 :擦除到Object类型里。即T就是object类型。

用泛型的方法写一个二分查找,为了更熟悉泛型的使用,一定要看

public class Binarysearch_fanxing {
    
    
    public static <E>void swap(E element[],int index1,int index2){
    
    
        E temp = element[index1];
        element[index1]=element[index2];
        element[index2]=temp;
    }
    public static <T extends Comparable<T>>void Binarysearch(T arr[]){
    
    
        if(arr==null||arr.length==1){
    
    
            return;
           
        }
        boolean flag;
        for(int i=0;i<arr.length;i++){
    
    
            flag=false;
            for(int j=0;j<arr.length-1-i;j++){
    
    
                if(arr[j].compareTo(arr[j+1])>0){
    
    
                    swap(arr,j,j+1);
                }
                flag=true;
            }
            if(!flag){
    
    
                break;
            }
        }
    }
}

用泛型写的冒泡排序

public class Binarysearch_fanxing {
    
    
    public static <E>void swap(E element[],int index1,int index2){
    
    
        E temp = element[index1];
        element[index1]=element[index2];
        element[index2]=temp;
    }
    public static <T extends Comparable<T>>void Binarysearch(T arr[]){
    
    
        if(arr==null||arr.length==1){
    
    
            return;

        }
        boolean flag;
        for(int i=0;i<arr.length;i++){
    
    
            flag=false;
            for(int j=0;j<arr.length-1-i;j++){
    
    
                if(arr[j].compareTo(arr[j+1])>0){
    
    
                    swap(arr,j,j+1);
                }
                flag=true;
            }
            if(!flag){
    
    
                break;
            }
        }
    }
}

泛型擦除

在这里插入图片描述
在这里插入图片描述

抽象类的常用形式

父类的方法子类需要重写 就用抽象方法表述。
在这里插入图片描述
然后子类重写 或子类写成抽象类

接口的常用形式

在这里插入图片描述
在这里插入图片描述

接口和抽象类的区别?

不知道

小知识点:
打印某个类属性,可以到类里面去修改tostring。

抽象类 含有抽象方法。
注意 误区:抽象类必定含有抽象方法这句话是错的。

抽象类一般用在继承当中。

Alt加回车键 小灯泡方法
抽象类不能实例化对象
抽象方法:子类必须实现抽象方法。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_47198561/article/details/109471157