黑马程序员技术交流社区

标题: 基础交流 [打印本页]

作者: kaifei2018    时间: 2016-3-24 23:40
标题: 基础交流
* equals方法:比较两个对象是否相等,下面是Object中的equals方法,比较的是地址值,没有什么意义
         * public boolean equals(Object obj) {
                return (this == obj);//是调用的对象与传入的对象的比较,比较的是地址值
           }
           思考:equals方法比较两个对象的地址值是没有意义的,需要重写,因为在开发中通常比较的是对象中的属性值,
           我们认为相同属性认为是同一个对象,这要需要在Student类中需要重写equals方法
         * @param args
         */
        public static void main(String[] args) {
                //观察重写equals方法前后的结果
                Student s1 = new Student("张三",23);
                Student s2 = new Student("张三",23);
                boolean b = s1.equals(s2);        //比较两个对象是否相等
                //当Student类没有重写equals方式时,下面两个输出都是false
                System.out.println(s1 == s2);
                System.out.println(b);       
        }




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