obiect中的方法:
toString方法
返回值类型是一个字符串
如何重写toString
正常创建的对象有个toString()方法
,返回类名地址等信息
重写toString
public String toString(){
//这个name和age是这个类中的属性
return name+”,”+age;
}
然后再次调用toString方法就就返回这个了
就是这样,所有那个用StringBuilder 定义后直接输出就显示String
给她输出toString了。
重写toString,来描述这个对象。
equals方法
返回是一个布尔型,比较字符串
双等于比的是是否为同一个对象,equals比的是这个两个对象内容(像不像)
person qq = person
person ww = person
if(qq==ww){返回的是false}
if(qq.equals(ww)){返回的是true}
重写equals方法
//改方法用来判断当前对象与给定对象“长的像不像”
/比内容(属性)
publc boolean equals(Object obj){
if(obj==null){
//null是没有。
return false;
}
if(obj==this){
return true;
}
以上的固定的。
//用instanceof 看obj是不是 Teacher这个类
if(obj instanceof Teacher){
//先转换为Teacher,然后去比内容
//比较这些属性
Teacher t = (Teacher)obj;
return t.name.equals(this.name)
&&t.age==this.age
&&t.gender.equals(this.gender);
;
}
return false;
}
基本类型用双等于
字符串 String 不是基本类型,所以也用equals比较
object的equals的比较是用双等于比较的所以要重写
参数定义为object ,那么就都能接受了,除了基本类型
就像int long boolean等等不是以对象的形态存在。
不能以多态的东西传入。
那解决基本类型就有了对应的基本类型的类
int—Integer
Interger in = new Interger(1);
用这个类的话就可以传入object参数了。
就叫这个包装类
让基本类型参与面向对象开发
包装类是final的,不能定义他们的子类
Number及其主要方法
抽象类Number是Byte、Double、Float、Integer Long和Short类的父类
Number的子类必须提供将表示的数字转换为byte,double,float,int,long和short的方法:
doubleValue() 以double形式返回指定的数值
intValue() 以int形式返回指定的数值
floatValue() 以float形式返回指定的数值
返回基本类型:
public static void main(String[] args) {
// TODO Auto-generated method stub
Double d = new Double(123.1);
//把d变回基本类型
d.doubleValue();
}