Java基础回顾Object类的方法重写
来源:互联网 发布:基于内容协同过滤算法 编辑:程序博客网 时间:2024/05/30 05:41
/** * * A:Object类概述 * 类层次结构的根类 * 所有类都直接或者间接的继承自该类 * B:构造方法 * public Object() * 回想面向对象中为什么说: * 子类的构造方法默认访问的是父类的无参构造方法 */public class Test { public static void main(String[] args) {// Student student=new Student("sanmao",14);// Student student1=new Student("sanmao",14);// System.out.println(student.equals(student1));// System.out.println(student.getClass()); //单例类 SingleClass singleClass=SingleClass.getInstance(); SingleClass singleClass1=SingleClass.getInstance(); System.out.println(singleClass==singleClass1); /** * public final Class getClass() * a:返回此 Object 的运行时类。 * b:可以通过Class类中的一个方法,获取对象的真实类的全名称。 * public String getName()*/ Object obj=student.getClass(); //class com.sanmao5.Student System.out.println(obj.getClass()); //class java.lang.Class String a="aaaa"; String b="aaaa"; String c=new String("aaaa"); String d=new String("aaaa"); String e="bbbb"; Student s=new Student("sanmao",44); //System.out.println(c); System.out.println(a.hashCode()); System.out.println(b.hashCode()); System.out.println(c.hashCode()); System.out.println(d.hashCode()); System.out.println(e.hashCode()); System.out.println(a==c); /** * ###11.20_常见对象(==号和equals方法的区别)(掌握) * ==是一个比较运算符号,既可以比较基本数据类型,也可以比较引 * 用数据类型,基本数据类型比较的是值,引用数据类型比较的是地址值 * equals方法是一个方法,只能比较引用数据类型,所有的对象都会继承 * Object类中的方法,如果没有重写Object * 类中的equals方法,equals方法和==号比较引用数据类型无区别,重写后的 * equals方法比较的是对象中的属性*/ }}public class Student { private String name; private int age; public Student(String name,int age){ this.name=name; this.age=age; } /** * public String toString() * a:返回该对象的字符串表示。 * public Stirng toString() { return name + "," + age; } * b:它的值等于: * getClass().getName() + "@" + Integer.toHexString(hashCode()) * c:由于默认情况下的数据对我们来说没有意义,一般建议重写该方法。 * B:最终版 * 自动生成 */ @Override public String toString(){//toString(),是Object存在的非抽象方法原来是返回地址 return "name="+name+" age="+age; } /** * a:指示其他某个对象是否与此对象“相等”。 * b:默认情况下比较的是对象的引用是否相同。 * c:由于比较对象的引用没有意义,一般建议重写该方法。 */ @Override public boolean equals(Object obj) { // return super.equals(obj); if(this==obj) return true; if(this==null) return false; if(!(this instanceof Student)) //对象1 instanceof 对象2, 对象2(实例) //instanceof 只比较同一类型对象 return false; //是不是对象1的实例 if(!name.equals(((Student)obj).getName())) return false; if(age!=((Student)obj).getAge()) return false; if(hashCode()!=obj.hashCode()) return false; return true; } /** * * public int hashCode() * a:返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。 * b:不同对象的,hashCode()一般来说不会相同。但是,同一个对象的hashCode()值肯定相同。 */ @Override public int hashCode() { //数据存储方式// return super.hashCode(); int hashcode=name.hashCode(); return 37+hashcode+age; } public String getName(){ return name; } public int getAge(){ return age; }}
0 0
- Java基础回顾Object类的方法重写
- Java 重写Object类的常见方法
- Java 重写Object类的常见方法
- java重写Object类方法
- 重写Object类中的Equals方法(Java)
- Object类方法重写
- Object 祖宗类方法的重写注意事项
- 方法的重写、Object类、继承、super
- Java基础回顾 : 文件类中的一些常用的方法
- java基础类的回顾
- Java中重写Object类的equals方法和hashcode方法的注意事项
- Java中重写Object类的equals方法和Hashcode方法的注意事项
- 重写Object常用的方法
- Java 重写与重载区别 Java父类的Object方法 要重写tostring原因,多个catch处理逻辑
- java面向对象基础 -- 重写父类方法的规则
- Java基础之方法的重写
- Java中重写object下的equals方法
- 重写Object类中的方法
- php date参数详解
- iOS开发之远程推送Push
- script标签不带属性与带async、defer的区别
- MySQL数据库生成JavaBean
- 如何查看真机的沙盒(图文教程)
- Java基础回顾Object类的方法重写
- Cocos2d-JS schedule用法
- ios-坐标系统(详解UIView的frame、bounds跟center属性[图])
- 强大的vim配置文件,让编程更随意
- 图文详解YUV420数据格式
- RabbitMQ官方中文入门教程(PHP版) 第二部分:工作队列(Work queues)
- CSS z-index 属性
- 二叉树非递归遍历
- dz论坛登录注册-dz论坛第三方登录注册