java_object的简单使用详解
作者:jingxian 时间:2023-08-22 11:35:57
就我们所知道的,java中有子类和父类,子类由于继承父类而形成,那么父类还有没有父类呢?答案是有了,父类的父类就是object类,一切父类都继承了它,那么根据继承的属性,每一个子类都有一个object类,然而,我们不是蒙目地去继承它,继承它是有目的的,我们要使用里面定义的方法,object里面定义了很多方法,详情参考API帮助文档,下面我介绍object里面两种方法,继承而来的方法往往是需要我们重写的。
第一、比如里面的比较方法,用来比较两个对象的地址是否相等,实际比较地址是哈希地址,而这开发中是往往用不到的,我们更多的用到的是比较对象里面的内容,比如数据成员是否相同,由于是继承了object,我们可以将它重写,把原定object的方法覆盖掉,一般都这样做,下面,看具体代码。其中还涉及到向上转型,向下转型的知识,具体看我以前的播客。还有tostring()方法是返回类名+哈希值
/*
Object:是所有对象的直接后者间接父类,传说中的上帝。
该类中定义的肯定是所有对象都具备的功能。
Object类中已经提供了对对象是否相同的比较方法。
如果自定义类中也有比较相同的功能,没有必要重新定义。
只要沿袭父类中的功能,建立自己特有比较内容即可。这就是覆盖。
*/
class Demo //extends Object
{
private int num;
Demo(int num)
{
this.num = num;
}
public boolean equals(Object obj)//Object obj = new Demo();
{
if(!(obj instanceof Demo))
return false;
Demo d = (Demo)obj;
return this.num == d.num;
}
/*
public boolean compare(Demo d)
{
return this.num==d.num;
}
*/
public String toString()
{
return "demo:"+num;
}
}
class Person
{
}
class ObjectDemo
{
public static void main(String[] args)
{
Demo d1 = new Demo(4);
System.out.println(d1);//输出语句打印对象时,会自动调用对象的toString方法。打印对象的字符串表现形式。
Demo d2 = new Demo(7);
System.out.println(d2.toString());
//Demo d2 = new Demo(5);
//Class c = d1.getClass();
//
// System.out.println(c.getName());
// System.out.println(c.getName()+"@@"+Integer.toHexString(d1.hashCode()));
// System.out.println(d1.toString());
//Person p = new Person();
///System.out.println(d1.equals(p));
}
}
标签:java,object
0
投稿
猜你喜欢
关于Springboot+gateway整合依赖并处理依赖冲突问题
2023-10-23 21:13:56
c# AJAX实践VS2005 + RSSToolKit 开发你自己的RSS在线阅读器
2023-11-30 18:22:11
spring的jdbctemplate的crud的基类dao
2022-05-30 13:05:17
Spring Boot整合Swagger测试api构建全纪录
2022-10-21 09:05:25
Java利用读写的方式实现音频播放代码实例
2022-08-21 15:38:52
C#下载歌词文件的同步和异步方法
2023-04-11 22:46:49
Android开发使用Drawable绘制圆角与圆形图案功能示例
2023-08-26 21:07:09
C/C++ Qt StatusBar底部状态栏应用教程
2023-09-29 16:25:45
springboot集成Swagger的方法(让你拥有属于自己的api管理器)
2023-11-08 20:39:15
Java中的ArrayList容量及扩容方式
2023-10-17 17:24:40
SpringBoot集成Redisson实现分布式锁的方法示例
2021-10-30 16:59:38
Java加载property文件配置过程解析
2023-10-07 07:53:03
C# KeyUp事件中MessageBox的回车(Enter)键回调问题解决方案
2021-06-25 06:24:06
Java8 如何正确高效的使用并行流
2021-06-01 20:29:19
OpenCV + MFC实现简单人脸识别
2023-02-24 06:15:55
优化常见的java排序算法
2022-03-25 05:11:54
C#串口通信模块使用方法示例
2023-06-19 12:13:57
RestTemplate 401 获取错误信息的处理方案
2023-01-14 10:37:44
activemq整合springboot使用方法(个人微信小程序用)
2023-07-08 22:29:55
Java中判断对象是否为空的方法的详解
2022-01-09 07:41:14