自学java(7)继承:5.2开始
来源:互联网 发布:如何看待中央反贪知乎 编辑:程序博客网 时间:2024/06/16 04:51
Object:所有类的超类(与C++不同)
如果没有明确的指出一个类的超类,那么Object就被认为是这个类的超类。
可以使用Object类型的变量引用任何类型的对象
缺陷::::::
Object类型的变量只能用于作为各种值的持有者,要想对其中的内容进行具体的操作,还需要清楚对象的原始类型,并进想相应的类型转换:
Employee e = (Employee) obj;
equals方法
用于检测一个对象是否等于另外一个对象。(只有两个对象属于同一个类时,才有可能相等)
equals具有的特性:
(1)自反性:对于任何非空引用x,x.equals(x)应该返回true
(2)对称性:对于任何引用x和y,当且仅当y.equals(x)返回true,x.equals(y)也应该返回true
(3)传递性:对于任何引用x,y和z,如果x.equals(y)返回true,y.equals(z)返回true,x.equals(z)也应该返回true
(4)一致性:如果x和y引用的对象没有发生变化,反复调用x.equals(y)应该返回同样的结果
(5)对于任何非空引用x,x.equals(null)应该返回false
5.3泛型数组开始
java容许在运行时确定数组的大小
例如
int actualSize = ...;
Employee[] staff = new Employee[actualSize];
这段代码的缺陷是一旦确定了数组的大小再去改变它那就变得不容易了
ArrayList是一个采用类型参数的泛型类。(当作vector来看)
下面声明和构造一个保存Employee对象的数组列表:
ArrayList<Employee> staff = new ArrayList<Employee>();
关于ArrayList的使用
使用get和set方法实现访问或改变数组元素的操作,而不是用人们喜爱的[]语法格式。
要设置第i个元素
staff.set(i,harry);
获取元素:
Employee e = staff.get(i);
5.4对象包装器与自动装箱
包装器:有时候需要把int这样的基本类型转换为对象,所有的基本类型都有一个与之对应的类。例如,int对应的是Integer类,还有其他的内置内省也都有对应的存在,基本上都是大写第一个字母。
特点:对象包装器类是不可变的,一旦构造了包装器,就不允许更改包装在其中的值,对象包装器类还是final,因此不能定义它们的子类。
ArrayList<Integer> list = new ArrayList<>[];
list.add(3);//自动装箱,会被分解为list.add(Integer.valueOf(3));
Integer i3 = 200;
Integer.valueOf(200);
int i1 = i3;
i3.intValue();
- 自学java(7)继承:5.2开始
- 今天开始自学java
- java自学笔记3:java中的继承
- 2.开始到今天学习-自学Java
- java自学笔记之面向对象继承
- java自学笔记6(继承)
- 自学 java 笔记 day7(继承上)
- 自学 java 笔记 day8(继承下)
- 自学 java 笔记 day9(继承下)
- 自学 java 笔记 day10(继承下)
- 从头开始学java-继承
- java自学日记7
- 我要开始写C#和JAVA自学日记了
- 我要开始写C#和JAVA自学日记了
- 假期回国自学java,弱弱从头开始
- java 自学日志【六】---面向对象之继承
- java自学之路-----继承 单例设计模式
- 自学java(6)继承类,超类和子类
- 神秘的40毫秒延迟与 TCP_NODELAY
- codeforces #366 704B 704C 704D 704E
- scala基础----》map基本操作
- 数据结构实验之查找一:二叉排序树
- 设计模式_单例模式(singleton)
- 自学java(7)继承:5.2开始
- 十三、签到和小红点功能
- 数据结构
- zcmu 1616: 最长回文串
- Glusterfs的常用命令
- Zynq的LWIP裸奔应用
- 策略模式、代理模式
- jsp内置对象总结
- nginx学习笔记