corejava5
2016-02-08 15:50:45 4 举报
AI智能生成
CoreJava第五章 java核心技术
作者其他创作
大纲/内容
corejava5
超类子类
关键词extends
调用父类方法或构造方法super
多态性(方法重名解决方案:动态绑定)
提取实际类型的方法表
搜索定义方法签名的类(实际调用的类)
调用方法
阻止继承final
final类:不允许扩展
final方法:子类不能覆盖
类型检查instanceof
抽象类abstract:不能实例化
抽象方法:不用具体实现
Object所有类的超类
equals方法
设计原则
自反性x.equals(x)返回true
对称性y.equals(x)和x.equals(y)返回相同
建议
显示参数命名为otherObject
检测this与otherObject是否引用同一个对象if(this==otherObject) return true;
为空对象? \u00A0if(otherObject==null) return false;
同一个类? \u00A0if(getClass() != otherObject.gerClass()) return false;
是否与继承关系? \u00A0if(!(otherObject instanceof ClassName)) return false;
比较域ClassName other =(ClassName)otherObject;return field1==other.field1;
==区别
==只比较对象的引用
hascode方法
string散列码有内容导出
对象默认散列码为存储地址
toString方法
泛型数组
ArrayList
ArrayList()
add()
size()
ensureCapacity(int capacity)
trimToSize()
toArray()复制数组
remove(n)删除元素
a.get(i)访问元素,同a[i]
包装器类
包装类
Boolean类
Integer类
Long类
Float类
Double类
Short类
Byte类
Character类
Void类
自动装箱
list.add(3)自动变换成list.add(Interger.valueOf(3));
可变参数
Object... args
枚举类
反射(分析类能力的程序)
class
getClass() 返回class对象
forName() 返回class对象
T.class
方法
getName() \u00A0类名
newInstance() \u00A0创建实例
getModifiers() \u00A0修饰词
getMethods() \u00A0方法
getFields() \u00A0public域,字段
getDeclaredFields() 所有域
getDeclaredConstructors() \u00A0所有构造方法
constructor
getModifiers() 返回修饰词
getParameterTypes() 返回参数类型Class[]
method
getReturnType() 返回类型class
field
getName() 名字
getModifiers() \u00A0返回修饰词
getType() \u00A0定义类型class
调用任意方法
0 条评论
回复 删除
下一页