equals() 方法小总结
<1>首先
基本数据类型不能使用equals() 方法
;
<2>这里
存在多态
的使用;
① equals()方法所需的参数是Object类型,不关什么类型数据传入到方法中,都会自动转换成Object类型;
(因为这里Object是所有类的父类)
②
instanceOf()
方法用于判断
当前传入的对象的真实情况
,是不是当前Person类型;
③
强制类型转换
是在
明确数据类型一致的情况下
,完成的,时用于方法操作成员变量;
<3> this 关键字
调用当前方法的类对象
,equals方法调用
方式类对象
,
.equals(另一个对象)
this表示类对象;
总结延申:instanceOf 的使用,什么是instanceof ?
原文链接:https://blog.csdn.net/kuangay/article/details/81563992
①instanceof 是java中的二元运算符
②
格式
:
左边对象 instanceof 右边类
当对象是右边类或者子类所创建对象时,返回true;否则返回false;也就是左边的对象类型,等于右边时返回true
③
作用
:instanceof用于测试它左边的对象是否是它右边的类的实例,
返回 boolean 的数据类
型。
④
instanceof一般用于对象类型强制转换
class Company{
//成员方法
void testCompany() {}
public static void main(String[] args) {
Object name = "小哈";
Object age = 18;
//使用instanceof保留关键字 判断name 是不是String类型
//打印结果 true
System.out.println(name instanceof String);
name = 11;
//打印结果 false
System.out.println(name instanceof String);
//判断age 是不是Integer类型
//打印结果 true
System.out.println(age instanceof Integer);
}
}
总结延申:如何获取一个对象的类型,使用什么方法 ?
public class Test{
//成员变量
private String name;
//成员方法
public void testCompany(){}
//构造方法
public Test(){}
}
class Company{
public static void main(String[] args) {
String name = "小哈";
//使用getClass()方法 获取name的对象类型
Object type = name.getClass();
//打印结果:class java.lang.String
System.out.println(type);
//使用getClass() 方法 获取 test对象的类型
Test test = new Test();
Object a = test.getClass();
//打印结果:class ......test.Test
System.out.println(a);
}
}