• 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方法和父类重写了

  • 相关阅读:
    【环境部署】centos7安装mysql-5.7.19 group-replication
    centos7远程安装oracle11g R2详细教程-解决一切问题
    docker:构建nginx+php-fpm镜像(一):构建nginx自启动镜像
    python virtualenv 安装运行saltstack
    自动化运维:flask-bootstrap + highstock整合
    自动化运维web环境搭建:Nginx+Django+uwsgi
    计算机二级-word错题总结
    SVPWM学习笔记2
    SVPWM自学笔记
    电力拖动自动控制系统_学习笔记2
  • 原文地址:https://www.cnblogs.com/wzhdcyy/p/9105565.html
Copyright © 2020-2023  润新知