黑马程序员技术交流社区
标题:
............
[打印本页]
作者:
胡团乐
时间:
2012-5-23 10:20
标题:
............
本帖最后由 胡团乐 于 2014-8-24 09:55 编辑
............
作者:
黑马—陈磊
时间:
2012-5-23 10:48
a.如果只允许同一个class 所产生的对象被视为相等,则通常使用getClass()。
b.只有在不得不「对子类对象与父类对象进行比较」的场合中,才使用instanceof,而且你应该明白这样做带来的可能问题和复杂性。
c.如果使用instanseof,而且子类和父类都实现有equals(),则一定要知道,这种比较不会展现出所谓的「对称相等性」。
作者:
袁錦泰
时间:
2012-5-23 11:56
本帖最后由 袁錦泰 于 2012-5-23 11:59 编辑
黑马—陈磊 发表于 2012-5-23 10:48
a.如果只允许同一个class 所产生的对象被视为相等,则通常使用getClass()。
b.只有在不得不「对子类对象与 ...
1.你能否解释一下使用instanceof对于子类对象与父类对象进行比较时,会带来什么问题?为什么会变得复杂?
2.什么是对称性相等? 使用instanceof为什么不会展现出对称性相等?
作者:
余宏
时间:
2012-5-23 12:21
instanceof的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据
进行类型判断时,建议使用equals中getClass方法
作者:
马林贺
时间:
2012-5-23 12:58
//创建ClassName 类的对象 name
ClassName name=new ClassName();
//调用继承了Object 中定义的方法 getClass()
System.out.println(name.getClass());
System.out.println("-----------------");
//判断 name 对象时是什么类型的
if( name instanceof ClassName )
{
System.out.println("你是我的对象。");
}
else
{
System.out.println("你不是我的对象");
}
/*getClass() 你可以理解成 你创建的对象所在的类
* instanceof 方法 运用在多态的时候 ,判读要转型成什么类别。
*
* 具体可以看 java 基础视频 8 天的 03 开始看
* */
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2