第五章.
5.4对象包装器
Integer类对应基本类型int,这些类称为包装器(wrapper).
包装器包括:Integer,Long,Float,Double,Short,Byte,Character,Void和Boolean,前六个派生于公共的超类Number.
对象包装类是不可变的.是final,不能定义子类.
ArrayList<Integer>.<>中只能是包装器类.
ArrayList<Integer> list = new ArrayList<Integer>();list.add(3) == list.add(new Integer(3));称之为自动打包.int i = list.get(i);称之为自动拆包.
比较包装对象的时候要用equals.
5.5参数数量可变的方法
public static double max(double ... values)
max(1.2,2.1,2.3),可以传入多个值。编译器将new double[]{}传入max方法。
5.7反射
反射机制:
在运行中分析类的能力,在运行中查看类的对象,实现数组的操作代码,利用Method对象。
Class类,getClass返回一个Class类型的实例,Class中有很多方法,getName为最常用的一个,返回类的名字。
Field[] getFields()返回一个包含Field对象的数组,记录了这个类或者超类的公有域。
Field[] getDeclareFields()返回全部域。
Method[] getMethods()返回所有的公有方法,包括从超类继承来的方法。
Method[] getDeclareMethods()返回类或接口的全部方法不包括从超类继承的。
Constructor[] getConstructors()返回公有构造方法
Constructor[] getDeclareConstructors()返回所有构造方法
利用改写泛型数组的代码解释反射。
利用array类中的newInstance方法。
Object newArray = Array.newInstance(componentType,newLength)
Class componenType = a.getClass().getComponentType()//确定数组类型
newLength是新数组的长度。
继承设计的技巧
1.将公共操作和域放在超类。
2.不要使用受保护类,不要使用protected。
3.使用继承实现is-a关系,判断是否属于is-a关系,不要胡乱使用继承。
4.除非所有继承的方法都有意义,否则不要使用继承。
5.在覆盖方法时,不要改变预期的行动。在覆盖方法时不要偏离最初的目的。
6.使用多态,而非类型信息。
7.不要过多的使用反射。
第五章结束。
2011.0124 晚 johnny
分享到:
相关推荐
谢希仁计算机网络第五版(第5章)课后习题答案
第五章 第五章 第五章 第五章 第 五章 第 五章
信息论与编码-曹雪虹-第五章-课后习题答案 想下就下 资源分1 下吧 哟
电力拖动自动控制系统 第五章课件 电力拖动自动控制系统 第五章课件
计算机网络自顶向下第七版第五章习题解答
清华大学编译原理第二版第五章答案清华大学编译原理第二版第五章答案清华大学编译原理第二版第五章答案清华大学编译原理第二版第五章答案
操作系统答案第5章的课后答案
《C++面向对象程序设计答案》-第五章--谭浩强-经典实例,包含继承 多态,源代码
R语言编程基础第五章课后习题操作题
mysql数据库武洪萍版第五章习题与答案.docx
经典c#第五章c#第五章c#第五章c#第五章c#第五章
《思想道德与法治(2021版)》第五章知识点及练习题.docx
算法设计与分析 吕国英 第三章第四章第五章课后习题答案
很好,操作系统(第五版)第一章到第五章答案
编译原理及实现第五章的课后答案 有详细的图文解说 简单易懂
计算机操作系统(第三版|微课版) 第5章习题及答案.doc
中南大学《通信网原理》第5章(I)作业题 电子信息专业 教师:陈科文
R语言编程基础第五章课后习题操作题b
数字信号处理第五章部分。由于时间紧,所以只弄了一部分