java学习4

63 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情

顺序表(一)

思考1 构造函数作用是什么?

首先构造函数名与类名一样,无返回值,可多个。我在前几天敲代码时没有出现构造函数,其实在未定义构造函数时会有一个缺省无参构造函数。其构造函数最大的作用是:在创建对象时(new)初始化对象

思考2 Object类

Object类是所有类的超类(一般我们创建的类都是隐式继承),所有类都可以使用Object类中的成员方法和变量,也可以重写其中的方法,例如今天的代码就重写了toString.若不重写toString方法,则会返回类名+hash值

//Object类中的toString方法
    public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

链表

1 成员内部类

在c语言中,对链表的数据结构是用结构体来表示,在java中使用内部类来表示链表结构体,如文章中的Node类可以访问外部类中所有的成员变量和成员方法。(除此外还有局部,静态,匿名内部类)

2.链表的插入和删除

用c语言来表示链表的插入(s)):

tempNewNode->next = tempNode->next;
tempNode->next = tempNewNode
 
//java
 tempNewNode.next = tempNode.next;
 tempNode.next = tempNewNode;

image.png

删除:

tempNode = tempNode->next->next;
free(tempDeleteNode);
 
//java
 tempNode.next = tempNode.next.next;

image.png

从以上的对比发现,java实现链表主要采用的是引用对象。关于链表的基本操作,因为java的util类中有链表自带的方法,很少会去敲这些代码,在写后感触很深。如链表:在c和java中链表表示不一样,但是本质的逻辑操作都是一样的,关键在于如何定义这个链表结构体。

总结:

  1. 逐步建立面向对象的思想 ,理解构造函数。

  2. 顺序表,链表的查找插入删除 在 java实现过程中结合条件,分支语句以及常用的关键字的使用。

3.在写程序时,要对代码进行保护,考虑到可能出现的非法操作,越界等问题