摘要:类的概述类是类层次结构的根类,每个类都使用作为超类。即每个类都直接或间接的继承类。在类中有方法以的形式返回此对象所表示的实体类接口数组类基本类型或名称。返回该对象的字符串表示。
object类的概述
object类是类层次结构的根类,每个类都使用object作为超类。object类中方法介绍 hashCode即每个类都直接或间接的继承object类。
public int hashCode():返回对象的哈希码值。
注意:哈希值是根据哈希算法计算出来的一个值,该值与地址值有关,但不是实际的值。可理解为地址值。
getClasspublic final Class> getClass():返回object运行时类,得到一个Class对象。返回的 Class 对象是由所表示类的 static synchronized 方法锁定的对象。
在Class类中有getname()方法以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。toString
public String toString():返回该对象的字符串表示。 toString方法返回一个字符串,它的值等于: getClass().getName() + "@" + Integer.toHexString(hashCode()) ps:Integer.toHexString()为Integer类下一静态方法, public static String toHexString(int i):以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。 源码: public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); }
但toString方法返回的信息是无意义的。所以建议所以子类重写改方法。重写的格式为:把所有成员变量值返回即可。但这样不是最好,自动生成即可。
class Test{ int num; @Override public String toString() { return "Test [num=" + num + "]"; } }
直接输出一个对象的名称,就是调用改对象的toString()方法。
equalspublic boolean equals(Object obj):指示其他某个对象是否与此对象“相等”。 源码: public boolean equals(Object obj) { return (this == obj); }
==: 基本类型:比较值是否相等。
引用类型:比较其地址值是否相等。
该方法,默认情况比较的是地址值,但是比较地址值意义不大,所以要重写改方法。
在方法重写时比较对象的成员变量值是否相同。
重写代码优化:提高效率,提高程序健壮性。
要想做到最好优化还是自动生成。(自动生成时会和hascode()方法一起生成。)
class Test{ int num; String sfa; @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + num; result = prime * result + ((sfa == null) ? 0 : sfa.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Test other = (Test) obj; if (num != other.num) return false; if (sfa == null) { if (other.sfa != null) return false; } else if (!sfa.equals(other.sfa)) return false; return true; } }
注:此为eclipse生成可能与idea生成的有所不同,但效果一样。
finalizeprotected void finalize() throws Throwable :当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。clone
protected Object clone() throws CloneNotSupportedException:创建并返回此对象的一个副本。“副本”的准确含义可能依赖于对象的类。
Cloneable:此类实现了Cloneable接口,以示Object.clone()方法合法的进行对该类的按字段复制。
Cloneable是一个标记接口,表明实现该接口的类可以实现对象的复制。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/74216.html
摘要:常用类概述包含执行基本数字运算的方法没有构造方法,如何使用类中的成员呢看类的成员是否都是静态的,如果是,通过类名就可以直接调用。所有类都直接或间接的继承该类。 1 常用API1.1 Math1.1.1 Math类概述Math包含执行基本数字运算的方法没有构造方法,如何使用类中的成员呢?看类的成员是否都是静态的,...
摘要:成员方法类概述用于产生随机数成员方法正则表达式相关方法判断功能分割功能替换功能获取功能和类的使用类概述包含一些有用的类字段和方法。注意它不能被实例化,因为此类构造器是私有的成员方法类类概述表示特定的瞬间,精确到毫秒。 前言 我们都知道,JDK包含了JRE,而JRE中也提供了各种功能的java类,现在我们就对这些类有个简单了解,然后灵活运用。 常用类:Object类/Scanner类,...
摘要:如何去掉默认注释选择你不想要的内容,通过右边编辑。有什么用用别人写好的东西打包选中项目右键自己指定一个路径和一个名称导入包复制到项目路径下并添加至构建路径。 1.常见开发工具了解 A:操作系统自带的记事本软件 B:高级记事本软件 C:集成开发环境 IDE (Integrated Development Environment) D:Eclipse和MyEclipse的区别 a...
1_(去除ArrayList中重复字符串元素方式)* A:案例演示 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) 思路:创建新集合方式 import java.util.ArrayList; import java.util.Iterator; public class ArrayList_1_demo { /* 创建新集合将重复元素去掉 * 1.明...
摘要:每一个对象直接量都是的子类,即构造函数中的构造函数与普通函数并没有什么两样,只不过在调用时,前面加上了关键字,就当成是构造函数了。由于没有传入变量,在调用的构造函数时,会出错这个问题可以通过一个空对象来解决改自。 showImg(https://segmentfault.com/img/bVmNZj); 对于 OO 语言,有一句话叫Everything is object,虽然 Ja...
阅读 1244·2023-04-25 18:57
阅读 2127·2023-04-25 16:28
阅读 3926·2021-11-24 09:39
阅读 3631·2021-11-16 11:45
阅读 1816·2021-10-13 09:40
阅读 1260·2019-08-30 15:52
阅读 1715·2019-08-30 10:57
阅读 657·2019-08-29 16:55