接口、Object类(toString(), equals(), hashCode())
来源:互联网 发布:子不语怪力乱神 知乎 编辑:程序博客网 时间:2024/06/05 05:14
一、接口 interface
1 全部的方法都是抽象方法,全部的属性都是常量。接口用来表示纯抽象概念,没有任何具体的方法和属性。
2 不能实例化,可以定义变量
3 接口变量可以引用具体实现类的实例
4 接口只能被实现,一个具体类实现接口,必须使用全部的抽象方法
5 接口之间可以继承
6 一个具体类可以实现多个接口,实现多继承现象,表示:一个概念既是XXX也是XXX
7 接口中的属性,默认是常量 public static final,可以省略不写,全称:public static final int a=1 略写:int a=1
8 接中的方法一定是:public abstract ,可以省略不写 全称:public abstract int getType(); 略写 int getType();
9 实现一个接口,使用关键字implements,实现实际上是一种继承关系。接口和实现类使父子类型的关系
注:接口的使用,是面向对象多态的最好体现
public interface Roadster {} //定义接口public interface Roadster extends Vehicle {} //接口可以继承接口public class Car implements Vehicle {} //实现接口的Car类public class Car extends Test implements Roadster,Other,...{} //带继承和接口的Car类
二、Object类
Object是java的继承root类,所有类都从这个类继承。
a. toString() 方法:
1 toString() 方法,返回对象的文本描述 经常被系统默认调用,默认返回:全限定名:@HashCode
2 建议覆盖toString(),返回合理的文本
例如:
public class Point { int x; int y; public Point(int x, int y) { this.x = x; this.y = y; } public String toString() { return "("+x+","+")"; }}
b. equals() 对比两个对象是否相等 ( a == b 是表示a和b两个变量是否相等)
1 区别:引用相等 与 对象相等
2 引用相等: 使用 “==”
3 对象相等:.equals() 方法
4 equals在Object类中声明,默认的比较规则是:引用比较
5 建议覆盖,实现对象的比较(比较对象的状态,就是比较的对象的数据)。
public boolean equals(Object obj){ if(obj == null) return false; if(this==obj)//自反性 return true; if(obj instanceof Point) { Point other = (Point)other; return x==other.x && y==other.y;//对等性 } return false;}
c. hashCode() 方法要与equals方法一同覆盖
1 当两个对象equals比较为true时候,这两个对象应该具有相同的hashCode() 值
2 当两个对象equals比较为false时候,这两个对象应该具有不相同的hashCode() 值
3 默认的hashCode()值是当前对象地址转换的一个整数,这个整数不是内存地址
- 接口、Object类(toString(), equals(), hashCode())
- Object 类 equals toString hashCode
- Object类中equals,hashCode和toString方法的学习
- Java Object类 hashcode、 equals 、 toString、notify()、notifyAll()、finalize()
- 如何覆盖Object类中的equals(),hashCode(),toString()方法
- 覆盖Object类的equals、hashCode和toString方法
- Object类中的toString(),equals(), hashCode()方法之间的关系
- 复写Object超类的equals,hashCode,toString方法
- Object的方法equals,hashCode,toString,clone。另外Comparable接口的方法
- java基础之Object类的三个方法(hashCode、toString、equals)
- Object常用方法介绍及注意事项equals(),hashCode(),getClass(),toString()
- Java记录 -57- Object的equals、hashcode和toString方法
- Object(equals,finalize,clone,hashCode,toString),与包的重名
- equals, hashCode,toString
- equals() 、 toString() 、 getClass() 、 hashCode()
- equals&&hashCode&&toString函数
- equals()、hashCode()、toString()
- equals hashcode toString
- 内省—beanutils工具包 的应用
- 利用堆栈窗口定位错误
- vc模拟鼠标键盘操作实用类
- nefu117素数定理
- Codeforces Round #207 (Div. 1)(A,B,C)
- 接口、Object类(toString(), equals(), hashCode())
- OpenGL超级宝典笔记5
- TCP为什么要三次握手
- Head First设计模式-状态模式
- html5游戏开发的五个最佳实践
- 数字签名和数字加密
- [各种面试题] 小朋友拿糖果
- uva10911 - Forming Quiz Teams 集合DP
- POJ2562 输入两个数计算进位