黑马程序员技术交流社区
标题:
hashCode()
[打印本页]
作者:
黑夜里的白猫
时间:
2013-10-14 23:44
标题:
hashCode()
class Demo4
{
public static void main(String[] args)
{
System.out.println(new Person());
Person p = new Person();
System.out.println(p.getClass().getName()+'@'+Integer.toHexString(hashCode()));//这里说hashCode()无法从静态上下文中引用非静态hashCode()
System.out.println(p);
}
}
class Person
{
}
作者:
bird_not_fat
时间:
2013-10-15 00:01
System.out.println(p.getClass().getName()+'@'+Integer.toHexString(hashCode()));
改成
System.out.println(p.getClass().getName()+'@'+Integer.toHexString(p.hashCode()));
hashCode()方法需要调用者...亲应该是这样
作者:
终结者
时间:
2013-10-15 00:15
每个方法都是继承object类的hashCode方法是object类中的方法,子类要么去继承要么去重写该方法,上面的代码hashCode方法没有对象去调用
作者:
做只会飞的鱼
时间:
2013-10-15 00:41
静态方法在类一加载的时候就加载,直接从类名调用.
而hashCode()方式是实例方法,需要在对象创建以后由对象调用.
作者:
赖龙威
时间:
2013-10-15 10:56
hashCode()不是静态方法。而你的main函数是静态方法。静态方法不能直接调用非静态方法。
你想,静态方法是可以在对象出现前调用的,而非静态方法不可以。所以……
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2