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

本文介绍了泛型的基本概念及其在二分查找算法中的应用,并探讨了泛型擦除等特性。此外,还对比了抽象类与接口的使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

泛型这节课可以多听几遍

泛型常用形式:
比如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加回车键 小灯泡方法
抽象类不能实例化对象
抽象方法:子类必须实现抽象方法。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值