博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java容器底层的简单模拟以及API文档的生成
阅读量:1871 次
发布时间:2019-04-26

本文共 3143 字,大约阅读时间需要 10 分钟。

1;其实容器就是数组,都是存放东西的一块内存,但是容器唯一不同的是,他可以放很多类型的东西,列如某个对象,字符串,数字,其实都可以写成一个对象,因为有包装类的存在嘛。因此都是Object类。

2;设计Java容器底层模拟,放在StringBudiler类的源码仿写来的。简单介绍一下,

3;一些简单步骤。就按照面向对象的设计思路来说。

3.1;需要定义一个成员变量,数组。类型应该为Object,因为容器要放对象,而Object类时所有对象的超级父类,因此则定义为Object类。

设置为private权限,增强封装性。/**  * value就是存放Object的容器*/private Object[] value;

3.2; 还应该定义一个int类型成员变量,size大小,表示容器元素的个数。

也是定义为private权限 /**   * size表示这个容器的大小 */ private int size;

3.3;一些常用类。

构造方法;就是创建对象的时候(new)的时候,此时两个成员变量的值应该为多少。

/**     * MyArrayList的构造方法,     * 并含重载方法     */    public MyArrayList(){        this(16);//直接地调用自己的构造方法    }    public MyArrayList(int capacity){        value = new Object[capacity];    }

返回容器元素的个数。

/**     * 返回容器中对象的数目     * @return     */    public int getLength(){        return size;    }

往容器添加元素并且进行扩容

/**     * 往容器里面添加对象     * 并且进行扩容方法。     * 并且进行赋值;     * @param obj     */    public void add(Object obj){
//备注不明白value的大小与size的区别。 value[size] = obj; size++; if(size >= value.length){
//进行扩容; Object[] newList = new Object[value.length*2+2]; for(int i = 0; i < value.length; i++){ newList[i] = value[i]; } value = newList; } }

返回相对应某个索引的对象;

/**     * 返回该索引位置的对象;     * 其中如果该索引没在容器范围内则返回异常;     * @param index 索引也就是下标。     *      * @return      */    public Object get(int index){        if(index < 0 || index > size-1){
//如果没在范围内则返回异常; try { throw new Exception(); } catch (Exception e) { e.printStackTrace(); } } return value[index]; }

删除指定索引位置的元素(对象)

/**     * 实现删除某个元素,最后返回对象本身     * @param index     * @return  MyArrayList     */    public MyArrayList delet(int index){        if((index < 0) || (index >= size)){            try {                throw new Exception();            } catch (Exception e) {                e.printStackTrace();            }        }        Object[] newList = new Object[size+16];        for(int i=0,l=0; i

主方法,调用这些方法;

/**     * main方法,     * @param args     */    public static void main(String[] args) {        MyArrayList list = new MyArrayList();        list.add("qqweer");        list.add("pppppp");        list.add(new Human("zw"));        list.add("qqweer");        list.add("pppppp");        Human h = (Human)list.get(2);        System.out.println(h.getName());        list.delet(0);//不需要接受返回值,已经把value数组改好了        Human h1 = (Human)list.get(1);        System.out.println(h1.getName());    }

关于容器就是只是简单的模拟了几个简单的功能。

4;怎么自己生产API文档。

4.1;关于文档注释;
4.1.1;文档注释,使得文档和程序同时出现在一个界面中,这样更加方便了我们查看代码了。
4.1.2;文档注释的一些内容

关于文本注释的样式/** *  */关于三,javadoc 标记javadoc 标记由"@"及其后所跟的标记类型和专用注释引用组成javadoc 标记有如下一些:@author 标明开发该类模块的作者 @version 标明该类模块的版本 @see 参考转向,也就是相关主题 @param 对方法中某参数的说明 @return 对方法返回值的说明 @exception 对方法可能抛出的异常进行说明 @author 作者名@version 版本号其中,@author 可以多次使用,以指明多个作者,生成的文档中每个作者之间使用逗号 (,) 隔开。@version 也可以使用多次,只有第一次有效使用 @param、@return 和 @exception 说明方法这三个标记都是只用于方法的。@param 描述方法的参数,@return 描述方法的返回值,@exception 描述方法可能抛出的异常。它们的句法如下:@param 参数名参数说明@return 返回值说明@exception 异常类名说明

4.2;项目完成后怎么生成API文档;

4.2.1;点击项目,单击右键,进入Export输出;进入java文件夹中的Javadoc文件。
这里写图片描述
这里写图片描述
这里写图片描述

这样就是实现了API文档的生产,对于API的好处,就是可以方便以后查看。

你可能感兴趣的文章
常用电子接口大全,遇到不认识的,就翻出来对照辨认!
查看>>
芯片IC附近为啥要放0.1uF的电容?
查看>>
电赛 | 19年全国一等奖,北航学子回忆录。
查看>>
电赛 | 19年全国一等奖,北航学子回忆录(上)
查看>>
电赛 | 19年全国一等奖,北航学子回忆录(下)
查看>>
突破!台积电1nm芯片,有了新进展。
查看>>
一文读懂全系列树莓派!
查看>>
自制一个害羞的口罩,见人就闭嘴,戴着可以喝奶茶
查看>>
聊聊我是如何编程入门的
查看>>
J-Link该如何升级固件?
查看>>
从电子垃圾中提炼黄金,可以!!!
查看>>
知乎大神深入解析:单片机晶振脚原理是什么?
查看>>
电容有17种?看看详细介绍!
查看>>
如何准备电赛?19年电赛经验总结!
查看>>
蓝牙:为啥叫“蓝”牙,不叫“白”牙?
查看>>
干货 | 如何系统学习 C 语言?
查看>>
多层PCB内部长啥样? 3D大图解析高端PCB板的设计工艺
查看>>
鸿蒙2.0都来了,快搭个环境玩起来吧!
查看>>
PCB散热的10种方法!
查看>>
值得收藏!268条PCB layout设计规范
查看>>