Object 所有类的父类
所有类都可以转换成这个类
所有类型都可以转为Object Object代表通用类型
equals
==比较的是内存地址
equals比较方法
//基本数据类型用==作比较;其他的用equals比较
子类转父类可以直接转,父类转子类要强转
/
package jichu9;
public class Test2 {
public static void main(String[] args) {
String a="abcd";
String b=new String("abcd");//new新建一片内存
System.out.println(a==b);//false
String a1="abcd";//a与a1是同一片内存
System.out.println(a==a1);//true
String s1="abcdefg";
//String s1=new String("abcdefg");
String s2=new String("abcdefg"); //equals 用来作对象与对象之间的比较
System.out.println(s1.equals(s2));//true
}
}
/
//对象与对象之间比属性
package jichu9;
public class Student {
//重写equals方法
public boolean equals(Object obj) {
//this是当前对象/
if (this == obj) {//问一下内存地址是否相等;看是否是同一个对象
return true;
}
//如果不是同一个对象,问obj是不是Student创建出来的对象
if (obj instanceof Student) {//问是不是Student的实例;是不是Stutent的实现子类;是不是Student的对象
Student stu = (Student) obj;//强制转换
//if(this.name.equals(stu.name)){}//这句与下面一句是一样的//如果不用&&,那可以用if嵌套
if (stu.name.equals(this.name)//this.name当前的name ;; stu 传进来的对象; //判断两者是否相等;;传进一个对象与自己的对象比较,而不是传两个
&& stu.address.equals(this.address) //this当前对象,equals方法是谁调用的,那这个this就是谁的对象
&& stu.phone.equals(this.phone)) {
return true;
}
}
return false;
}
private String name;
private String address;
private String phone;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
。
//调用字符串的equals方法来比较字符串的内容
package jichu9;
//测试 (Student)
public class Test {
public static void main(String[] args) {
Student s=new Student();
s.setName("猪猪");
s.setAddress("南宁");
s.setPhone("150776");
Student s1=new Student();
s1.setName("猪猪");
s1.setAddress("南宁");
s1.setPhone("150776");
System.out.println(s.equals(s1));//true
}
}
//
/
/
package jichu9;
public class Dog {
public boolean equals(Object obj){
if (this==obj){
return true;
}
if (obj instanceof Dog){
Dog d=(Dog)obj;
if (this.name.equals(d.name)){
if (this.color.equals(d.color)){
if (this.age==d.age){
return true;
}
}
}
}
return false;
}
private String name;
private String color;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}