首页 > 编程语言 > 详细

综合实战-数组操作02(排序子类)

时间:2019-11-21 10:46:18      阅读:68      评论:0      收藏:0      [点我收藏+]
class Array{
    private int data[]; // 定义一个数组
    private int foot ; // 数组的操作脚标
    public Array(int len){ // 构造本类对象时需要数组长度
        if(len > 0){
            this.data = new int [len]; // 开辟一个数组
        }else{
            this.data = new int [1]; // 维持一个元素的大小
        }
    }
    public boolean add(int num){
        if(this.foot < this.data.length){ // 有空间保存数据
            this.data[this.foot++] = num; // 保存数据
            return true; // 保存成功
        }
        return false; // 保存失败
    }
    public int [] getData(){
        return this.data;
    }
}

// 定义一个排序数据的子类
class SortArray extends Array{
    // Array里面没有无参构造方法
    public SortArray(int len){
        // 这样父类中的data数组就可能初始化
        super(len); //明确调用父类的有参构造
    }
    // 因为父类中getData()方法不多当前类使用,但能需要保留此方法
    // 使用覆写的概念来将此方法的功能扩充
    public int [] getData(){
        java.util.Arrays.sort(super.getData()); // 排序
        return super.getData();
    }
}
public class testDemo{
    public static void main(String args[]){
        SortArray arr = new SortArray(3);
        System.out.println(arr.add(100));
        System.out.println(arr.add(20));
        System.out.println(arr.add(19));
        int [] temp = arr.getData();
        for (int i=0; i<temp.length;i++){
            System.out.println(temp[i]);
        }

    }
}

技术分享图片

在这个程序中,我们的思路:
绝不改变客户端已有的使用方法
子类现在为了要维持方法的功能继续完善,所以必须要根据情况对父类方法覆写

综合实战-数组操作02(排序子类)

原文:https://www.cnblogs.com/anyux/p/11903835.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!