黑马程序员技术交流社区

标题: api学习心得 [打印本页]

作者: kjkjkjh    时间: 2015-12-20 00:16
标题: api学习心得
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

多肽的弊端不能访问子类特有的属性和行为;

作者: 214652440    时间: 2015-12-20 00:19
最后一句并不完整,可以使用向下转型达到使用子类方法的目的....




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2