pi应用程序编程接口
实用的类 具体的类
这些类将底层实现封装了起来
//object类
是类层次的根类
所有的数组对象都实现了他的方法
//hashcode 返回该对象的哈希码值 会根据对象的地址来计算
返回int类型
object obj1=new object();
int hashcode=obj1.hashcode();
syso(hashcode); 此时输出的是hash code 的地址值
对象进内存要申请一个地址值,
//getclass()返回object(此对象)的运行时类
返回的是class 描述类的类
他的方法 getname已String的形式返回此class对象的
所表示的实体(类,接口,数组)名称
//Student s=new student("张三",23)
//Class clazz =s.getClass(); 获取该对象的字节码文件
//string name=clazz.getname();
//syso(name);
//这里输出的是类的名字
//tostring方法 返回该对象的字符串表示
student s=new student("张三",23)
string str=s.tostring();
syso(str); //s输出乱码 类名加十六进制哈希码值
源码
public string tostring()[
return getclass().getname()+@+Interger.tohexstring(hashcode());
] //这是十六进制哈希码值
tostring用于重写 他反回的是字符串
tostring方法的作用更方便的显示属性值
而getxxx是获取值,可以显示赋值 ,或其他操作
//如果直接打印对象的引用,会默认tostring方法,前提重写
//equals方法
判断俩个对象是否相等 返回boolean类型
student s1=new student("张三",23);
student s2=new student("张三",23);
boolean s1=s1.equals(s2);比较对象是否相等
syso(b);
结果不相等 比较的是地址值
源码
public boolean equals(object obj){
return(this==obj);//调入的对象跟传进的对象作比较
}
比较对象的地址值没有意义
object中的equals方法是比较对象的地址值得没有意义
需要重写,因为我们在开发中的我们通常比较的是对象的属性值
我们认为相同属性是同一个对象
这样我们需要重写equals方法
//重写比较对象的属性值
return this.name
多肽的弊端不能访问子类特有的属性和行为;
|
|