Java的API及Object类

Java APIAPI: Application(应用) Programming(程序) Interface(接口)

Java API就是JDK中提供给我们使用的类,这些类将底层的代码实现封装了起来

Object类是Java语言中的根类,即所有类的父类。

首先equals方法是比较两个对象是否相同,Object类中的equals方法内部使用的就是==比较运算符。

"==比较运算符"比较的是两个引用类型的地址

如果你的类里面没重写object的equals方法,那么调用的是object的equals方法,比较的是两个对象的内存地址,没有实用意义。

在复写Object中的equals方法时,一定要注意public boolean equals(Object obj)的参数是Object类型,在调用对象的属性时,一定要进行类型转换,在转换之前必须进行类型判断。

toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。

由于toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。

查阅API中的String类的描述,发现String 类代表字符串。

字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。

String 类包括的方法可用于检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本并将所有字符全部转换为大写或小写。大小写映射基于 character 类指定的 Unicode 标准版。

Java 语言提供对字符串串联符号("+")以及将其他对象转换为字符串的特殊支持。

除非另行说明,否则将 null 参数传递给此类中的构造方法或方法将抛出。

首先我们建立一个person类,建立私有属性类String name和int age并且获取name和他们的返回值并设置和判断对象年龄是否一致是否是同龄人  

 public class person {
    private String name;
    private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    @Override
    //判断是否是同龄人
    public boolean equals(Object obj) {
        // TODO Auto-generated method stub
        //判断对象是否一致
        if(obj==this) {
            return true;
        }
        if(obj instanceof person) {
            person p=(person)obj;
        }
        return super.equals(obj);
        
    }
    
}

public class test {

    public static void main(String[] args) {
        person p1=new person();
        p1.setAge(28);
        person p2=new person();
        p2.setAge(25);
        ArrayList arr=new ArrayList();
        //"=="比较的是两个引用类型的地址
        //如果你的person没重写object的equals方法,那么你的
        //p1.equals(p2)调用的是object的equals方法,比较的是
        //两个对象的内存地址,没有实用意义
        //而我们person类如果比较的话,应该比较年龄相同
        //就要重写父类的equals方法
        boolean b=p1.equals(p2);
        System.out.println(b);
        person p21=new person();
    
    }

测试类集合并且父类用equals方法重写这就是equals方法和父类重写了

猜你喜欢

转载自www.cnblogs.com/wzhdcyy/p/9105565.html