自定义类覆盖Object一些方法
2013-12-19 23:47
337 查看
//Object 上帝类:
//如果自定义类有比较功能,没必要重定义比较方法,覆盖父类功能,建立自己比较内容即可。
class Demo{
private int age;
Demo(){
}
Demo(int age){
this.age=age;
}
/*public boolean compare(Demo d){
return this.age==d.age;
}*/
public boolean equals(Object obj){ //覆盖父类方法。
if(!(obj instanceof Demo)){
return false;
}
Demo d=(Demo) obj;
return this.age==d.age;
}
public String toString(){ //覆盖父类方法
return "Demo:"+age;
}
}
public class ClassDemo {
public static void main(String[] args) {
Demo d1=new Demo(3);
Demo d2=new Demo(3);
System.out.println(d1==d2); //false;
System.out.println(d1.equals(d2));//true;
System.out.println(d1.toString()); //Demo:3
System.out.println(d1.getClass()+"@"+Integer.toHexString(d1.hashCode()));
}
}
//如果自定义类有比较功能,没必要重定义比较方法,覆盖父类功能,建立自己比较内容即可。
class Demo{
private int age;
Demo(){
}
Demo(int age){
this.age=age;
}
/*public boolean compare(Demo d){
return this.age==d.age;
}*/
public boolean equals(Object obj){ //覆盖父类方法。
if(!(obj instanceof Demo)){
return false;
}
Demo d=(Demo) obj;
return this.age==d.age;
}
public String toString(){ //覆盖父类方法
return "Demo:"+age;
}
}
public class ClassDemo {
public static void main(String[] args) {
Demo d1=new Demo(3);
Demo d2=new Demo(3);
System.out.println(d1==d2); //false;
System.out.println(d1.equals(d2));//true;
System.out.println(d1.toString()); //Demo:3
System.out.println(d1.getClass()+"@"+Integer.toHexString(d1.hashCode()));
}
}
相关文章推荐
- Java Object类讲解 上帝类及其一些方法的分析
- System.Object的一些方法
- 在安装并使用tensorflow中的Object-detection模块时遇到的一些问题汇总及解决方法
- Mono 继承一些特殊接口中带有 IJavaObject, IDisposable 接口的实现方法
- 对 Object 类中方法的一些简单认识
- Object中的一些方法
- Object 一些方法
- System.Object的一些方法
- 分享Object中常用的一些方法
- System.Object的一些方法
- 方法覆盖(Override)中的一些问题 1
- c#的一些小知识点:object/string 转化为float,float保留2位小数,Replace的使用,静态方法的调用
- Object的一些公用方法
- Object 的一些方法 总结
- 方法覆盖(Override)中的一些问题 2
- Object一些重要方法
- 关于Object一些共性方法
- Unity获取object所有属性的一个方法,一些界面上没有开放的属性可以用该方法编辑
- java与线程相关的一些重要方法1(不涉及并发包)-Object的wait(long timeout)和wait()
- 笔记:自定义类中覆盖toString()等方法