




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程名称:面向对象 2、知识点 2.1、上次课程的主要知识点 1、static 关键字 定义的属性是一个公共属性,所有对象公共拥有,而且可以通过类名称直接调用; 定义的方法可以由类名称直接调用; 在开发之中定义操作的时候,80%的情况下都是非 static 操作,使用 static 定义的操作目的:可以在 没有实例化对象的时候进行使用; 2、代码块(了解):普通代码块、构造块、静态块、同步块; 3、内部类:在一个类的内部定义的新的类的结构,内部类的最大好处是可以方便的和外部类之间进行私 有属性的互访问,而最大的缺点:破坏了程序的结构; 4、现在已经给出的三个代码模型: 简单 Java 类的开发原则(初步原则) ; 对象比较:是一个类自己本身所具备的功能; 简单 Java 类和数据表的映射操作:单表、一对多、简单多对多。 5、dept-emp 的映射操作。 2.2、本次预计讲解的知识点 1、深入引用传递,现在遗留的问题: 如果类的构造没有执行,类之中的所有属性都是其对应数据类型的默认值; this 表示当前对象; 每个简单 Java 类必须要保留无参构造方法; 每个属性要按标准编写 setter、getter; 对象比较的使用; 内部类的应用。 2、基本的数据结构实现:链表、BT。 3、具体内容 3.1、链表(理解) 链表是一种最基本的数据结构,但是对于数据结构的部分,强调以上几点: 在整个 Java 开发领域之中,没有一本真正去讲解数据结构的书,只能去看 C 语言的数据结 构; 在所有的开发之中,都会存在数据结构的身影,可以这样去解释:数据结构的精通与否, 决定于以后; 数据结构的核心:引用数据类型操作。 3.1.1、链表的基本概念 链表实际上是可以理解为一串数据,或者按照专业性的说法,可以理解为动态的对象数组,对象数 组最大优点:表示出多的概念,例如:多个雇员。但是传统的对象数组有一个最大的问题在于,里面保存 的数据的长度是固定的。 思考:如果说现在要想扩大一个对象数组的范围? 建立一个新的对象数组,而后将原本的内容拷贝到新数组之中,在改变原数组的引用方式。 public class TestDemo public static void main(String args) String str = new String “Hello “,“World“ ,“MLDN“; String newstr = new String6; System.arraycopy(str,0,newstr,0,str.length); str = newstr ; str3 = “你好“ ; str4 = “明天“ ; for ( int x = 0 ; x this.count) /超过个数 return null; this.foot = 0; /操作 foot 来定义脚标 return this.root.getNode(index); public void clear() this.root = null ; this.count = 0; public class TestDemo public static void main(String args) Link all = new Link(); all.add(“Hello“); all.add(“World“); String str = all.toArray(); for ( int x = 0 ; x this.count) /超过个数 return null; this.foot = 0; /操作 foot 来定义脚标 return this.root.getNode(index); 在 Node 类之中配置 getNode()方法。 public String getNode(int index) if (Link.this.foot + = index )/当前索引为查找数值 return this.data ; else return this.next.getNode(index); 、清空链表:public void clear() 所有的链表被 root 拽着,这个时候如果 root 为 null,那么后面的数据都会断开,就表示都成了垃圾。 public void clear() this.root = null ; this.count = 0; 在整个程序之中,对于代码的开发部分不要求可以从无到有编写,但是需要清楚其操作原理,并且 可以修改,而在整个链表工具类之中的方法: No. 方法名称 类型 描述 1 public String add(数据 对象) 普通 向链表之中增加一个数据 2 public boolean addAll(数据 对象) 普通 向链表之中增加一组数据 3 public int size() 普通 取得链表之中的元素个数 4 public boolean isEmpty() 普通 判断链表是否为空 5 public boolean contains(数据 对象 ) 普通 从链表之中查询数据 6 public void remove(数据 对象) 普通 从链表中删除数据 7 public 数据 toArray() 普通 将链表之中保存的数据以对象数组的方式返回 8 public 数据 get(int index) 普通 根据索引位置取得指定的对象 9 public void clear() 普通 清空链表 以上的九个方法的作用,一定要清楚。 3.1.4、保存多个对象 之前的链表保存的都是 String 型数据,但是现在也可以试一个用户自己定义的类。 如果是自定义的类,那么一定要考虑到对象比较的方法,因为在链表之中的,contains(),remove()两 个方法都调用了字符串内容的比较操作,而如果是一个自定义的 Java 类呢?需要编写 compare()方法(对 象比较) 。 在之前学习了关系模型:dept-emp 的操作,那么按照这个思路的话,链表可以针对于 Emp 使用,在 一个部门有多个雇员,只要是多个就是对象数组,但是对象数组肯定以动态对象数组为主,那么一定就是 链表的应用。 3.2、第四个代码模型的练习(重点) 重申:关于链表的掌握程度 奢侈的想法:每个人可以自己独立的编写链表; 实际的想法:可以使用链表,修改链表为自己的类型(类型、对象比较操作) 。 3.2.1、第一道练习,一对多(商品类别和商品): TestDemo2 要求:1、根据一个商品组的信息找到所有的商品; 2、根据一个商品找到其所属的商品组的信息。 商品表:名称、价格、描述。 3.2.2、第二道练习,一对多(一个用户可以下多个订单) TestDemo3 要求:1、根据一个用户找到他的所有订单; 2、根据一个订单找到其下单的用户。 3.2.3、第三道练习,简单多对多 TestDemo4 多对多的映射关系在开发之中是存在两种的: 情况一:关系表之中,只存在关联字段,不存在任何的其他字段,留的题目属于简单多对多; 情况二:关系表之中,存在着其他的操作字段,数据模型:一个学生可以参加多门课程,每 门课程可以有多个学生参加,每个学生针对于每门课程有一个成绩,在关系表中存在了一个成绩字段; 多对多 = 两个一对多。 管理员- 管理员组- 权限,多对多: 要求:1、根据一个管理员的信息可以找到这个管理员所在的所有管
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑工程设计优化及技术咨询服务合同
- 观革命电影有感450字14篇
- 直接引语和间接引语的转换技巧:初中英语课程教案
- 纪检委员培训课件
- 人教版八年级英语上册Unit 5完形填空专题复习练习题(含答案解析)
- 唐诗三百首鉴赏与实践教学方案
- 工业园区招商合同
- 早教课件在家听
- 企业间知识产权保护与交易合作合同
- 纪念塔课件教学课件
- 欧莱雅物流管理模式
- 2025年新疆生产建设兵团国有企业招聘笔试参考题库含答案解析
- 电商采购供货协议范本
- 《冲击波疗法》课件
- 冠心病护理模板(2025年独家版)
- 知识产权贯标体管理体系整体文件一二三级文件 手册程序制度文件
- 飞书项目管理
- 《中国世界遗产》课件
- 糖尿病眼底病变
- 《中医饮食护理》课件
- 银行运营管理新员工培训
评论
0/150
提交评论