- [基本类型与引用类型变量](#jump2)
- [接口](#jump3)
- [多态](#jump4)
UML图
1.UML图中的符号表示
- private在类图中用符号-表示;
- public在类图中用符号+表示;
- protected在类图中用符号#表示。
2.用UML图表示各类及接口之间的关系
- 继承关系(extends):
空心三角箭头的实线表示,由子类指向父类,或者由子接口指向父接口。
- 实现关系(implements):
空心三角箭头的虚线表示,从类指向实现的接口。
- 依赖关系(该类在某方法中使用到某类):
类A指向类B的带箭头虚线表示。
- 关联关系(该类引用了某类作为全局变量:
类A指向被关联类B的带箭头实线表示,在关联的两端可以标注关联双方的角色和多重性标记。
- java设计模式—UML类图
3.UML图建模工具
基本类型与引用类型变量
1.八种基本数据类型+三种引用类型
2.补充说明
- java库中的几个类
- java库中的几个接口interface
- List:列表 ,此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引 在列表中的位置)访问元素,并搜索列表中的元素。List 接口提供了两种搜索指定对象的方法。从 性能的观点来看,应该小心使用这些方法。在很多实现中,它们将执行高开销的线性搜索。 List 接 口提供了两 种在列表的任意位置高效插入和移除多个元素的方法。
- add() : 在列表的插入指定元素。
- remove():移除列表中指定位置的元素。
- get(int index):返回列表中指定位置的元素。
- Map<K,V>: K - 此映射所维护的键的类型 ; V - 映射值的类型 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
- put(K key,V value):将指定的值与此映射中的指定键关联(可选操作)。如果此映射以前包含一个该键的映射关系,则用指定值替换旧值(当且仅当,返回 true 时,才能说映射 m 包含键 k 的映射关系)。
- remove(Object key):如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。更确切地讲,如果此 映射包含从满足(keynull ? knull :key.equals(k))的键 k 到值 v 的映射关系,则移除该映射关系。(该映射最多只能包含一个这样的映射关系。)
- get(Object key):返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。
3.区别
- 从概念上说:
- 基本数据类型:变量名指向具体的数值;
- 引用数据类型:变量名指向存数据对象的内存地址,即变量名指向hash值。
- 从内存构建方面来说:
- 基本数据类型:变量在声明之后java就会立刻分配给他内存空间;
- 引用数据类型:它以特殊的方式(类似C指针)指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址。
- 从使用方面来说:
- 基本数据类型:使用时需要赋具体值,判断时使用“==”号;
- 引用数据类型:使用时可以赋null,判断时使用equals方法。
- 回到顶端
接口
- [java接口|菜鸟教程](http://www.runoob.com/java/java-interfaces.html)
- [回到顶端](#jump0 )
多态
**面向对象编程有三大特性:**<span style="color:red">封装、继承、多态。
- 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。
- 继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。
- 多态是指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
1.多态存在的三个必要条件:
- 继承
- 重写
- 子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。
- 父类引用指向子类对象(向上转型)
- 在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法。
2.多态的实现方式:
3.多态的优点:
- 消除类型之间的耦合关系
- 可替换性
- 可扩充性
- 接口性
- 灵活性
- 简化性
第六章代码