java高级_工具类 _Object类
来源:互联网 发布:淘宝帐户冻结了怎么办 编辑:程序博客网 时间:2024/06/04 23:18
Object类
java.lang包:使用了lang包下的类,可以不引包
java.lang.Object类:所有类的父类(直接继承或间接继承)
Java中所有的类都直接或间接地继承Object类? 答案:错误 Object类本身
题目本身不严谨,给出严谨的答案, 后面用文字补充说明
Java中类型的体系
Java中一共有多少种数据类型?
答案:2种
基本数据类型 8种
引用数据类型 Object 包括数组 int[] a
Object类中的主要方法 (在所有的类中都会被继承)
(1)equals(Object o):指示其他某个对象o是否与当前对象“相等”。(重要)
默认情况下: equals相当于 == 表示引用数据类型的地址是相同的
特殊情况下: String类型中equals方法比较的是字符串内容是否一致
obj instanceof Object obj是一个变量 Object是一个类型
判断obj是否是Object这种类型 如果是:true 不是:false
面向对象中,继承体现现实世界中一般与特殊的关系
鸟 燕子
水果 苹果
Apple extends Fruit
Apple apple = new Apple();
apple instanceof Fruit -> true
虽然改写equals方法可以实现逻辑上的功能,但是个人建议不要轻易重写equals方法
(2)finalize():进行垃圾回收
内存泄露:
类似C++语言,使用对象后需要手工回收,回收不彻底就会产生内存泄露
Java虚拟机中,存在着一个低优先级的自动运行的垃圾回收线程,
每隔一段时间扫描内存中不使用的对象,调用对象的finalize方法进行回收
(3)getClass():返回Class的类型的运行时类 -- 与Java反射机制有关系
获取类名 对象.getClass().getName()
类.class.getName()
(4)hashCode(): 返回对象的哈希码值
hashCode方法一般与equals方法联合使用
重写equals方法通常会重写hashcode方法:为了提升equals方法的效率
对象a和对象b
a == b 它们的内存地址一致, 它们的哈希码值也一致
a != b 它们的内存地址不一致,但它们的哈希码值可能一致
a.equals(b)方法
先判断 a和b的哈希码值是否一致?
不一致 => a != b false
一致
再判断地址是否一致?
一致 => a == b true
不一致 => a != b false
(5)toString():将对象用字符串方式表示(重要)
System.out.println(a); 相当于调用了a的toString()方法
通过改写toString方法来改变输出内容
默认是:类名@内存地址
(6)wait,notify和notifyAll
这些方法与多线程有关
wait:线程等待
notify:线程唤醒
java.lang包:使用了lang包下的类,可以不引包
java.lang.Object类:所有类的父类(直接继承或间接继承)
Java中所有的类都直接或间接地继承Object类? 答案:错误 Object类本身
题目本身不严谨,给出严谨的答案, 后面用文字补充说明
Java中类型的体系
Java中一共有多少种数据类型?
答案:2种
基本数据类型 8种
引用数据类型 Object 包括数组 int[] a
Object类中的主要方法 (在所有的类中都会被继承)
(1)equals(Object o):指示其他某个对象o是否与当前对象“相等”。(重要)
默认情况下: equals相当于 == 表示引用数据类型的地址是相同的
特殊情况下: String类型中equals方法比较的是字符串内容是否一致
obj instanceof Object obj是一个变量 Object是一个类型
判断obj是否是Object这种类型 如果是:true 不是:false
面向对象中,继承体现现实世界中一般与特殊的关系
鸟 燕子
水果 苹果
Apple extends Fruit
Apple apple = new Apple();
apple instanceof Fruit -> true
虽然改写equals方法可以实现逻辑上的功能,但是个人建议不要轻易重写equals方法
(2)finalize():进行垃圾回收
内存泄露:
类似C++语言,使用对象后需要手工回收,回收不彻底就会产生内存泄露
Java虚拟机中,存在着一个低优先级的自动运行的垃圾回收线程,
每隔一段时间扫描内存中不使用的对象,调用对象的finalize方法进行回收
(3)getClass():返回Class的类型的运行时类 -- 与Java反射机制有关系
获取类名 对象.getClass().getName()
类.class.getName()
(4)hashCode(): 返回对象的哈希码值
hashCode方法一般与equals方法联合使用
重写equals方法通常会重写hashcode方法:为了提升equals方法的效率
对象a和对象b
a == b 它们的内存地址一致, 它们的哈希码值也一致
a != b 它们的内存地址不一致,但它们的哈希码值可能一致
a.equals(b)方法
先判断 a和b的哈希码值是否一致?
不一致 => a != b false
一致
再判断地址是否一致?
一致 => a == b true
不一致 => a != b false
(5)toString():将对象用字符串方式表示(重要)
System.out.println(a); 相当于调用了a的toString()方法
通过改写toString方法来改变输出内容
默认是:类名@内存地址
(6)wait,notify和notifyAll
这些方法与多线程有关
wait:线程等待
notify:线程唤醒
0 0
- java高级_工具类 _Object类
- 【面向对象(高级)】_Object类笔记
- 【面向对象(高级)】_Object类笔记
- Java 回顾笔记_Object类
- 红皮书c#高级编程(第6版)_第3章_对象和类型_Object类
- java高级_工具类_字符串类
- java高级_工具类_日期类
- java高级_工具类_数学类
- 多态_object类_内部类_匿名内部类
- JAVA基础--db11_java异常_Object类
- 常见对象_常见对象_Object类的equals()方法
- 黑马程序员_Object类
- java学习之旅40--面向对象_13_继承_Object类用法_toString和equals方法_重写toString
- 40_面向对象_13_继承_Object类用法_toString和equals方法_重写toString
- [2014-07-18]JAVA笔记_Object类、String类
- 【JavaSE笔记】Java常用类及其方法(一)_Object
- 继承_Object顶层父类
- java第十六天_工具类Collections和Arrrays,高级for循环,可变参数,静态导入
- String.Format方法
- 解决Fresco与高德地图或者是百度地图冲突的问题
- 图像二值化----otsu(最大类间方差法、大津算法)
- rabbitMQ第五篇:Spring集成RabbitMQ
- 推导基姆拉尔森公式根据日期计算星期
- java高级_工具类 _Object类
- Java编程思想(二)--一切都是对象
- java 泛型
- 日志收集器Filebeat详解
- CSS3阴影 box-shadow的使用和技巧总结
- IE8浏览器Silverlight已被阻止解决办法
- java对象和json对象之间互相转换(上)
- jenkins构建jmeter线程
- MySQL 常用命令