package java.lang;
public class Object {
public Object() { / compiled code / }
private static native void registerNatives();
public final native java.lang.Class<?> getClass();
public native int hashCode();
public boolean equals(java.lang.Object o) { / compiled code / }
protected native java.lang.Object clone() throws java.lang.CloneNotSupportedException;
public java.lang.String toString() { / compiled code / }
public final native void notify();
public final native void notifyAll();
public final native void wait(long l) throws java.lang.InterruptedException;
public final void wait(long l, int i) throws java.lang.InterruptedException { / compiled code / }
public final void wait() throws java.lang.InterruptedException { / compiled code / }
protected void finalize() throws java.lang.Throwable { / compiled code / }
}
Object是java所有类的终极类,我们常见的自定义class 但是并没有继承Object(Java编译器自动引入,如果手动继承Object,也是没有问题的,java单继承 有一定的局限)
public static class User {@Override
br/>@Override
return super.clone();}
@Override
br/>}
@Override
return super.hashCode();
}
}
Object类 约12个方法,下面一一解释这些方法的作用1. getClass()
public final Class<?> getClass() {
return shadow$klass;
}
返回此Object的运行时类
实际结果的类型是Class<? extends |X|>其中|X|是静态类型上其表达的擦除getClass被调用。 例如,在此代码片段中不需要转换:
Number n = 0;
Class<? extends Number> c = n.getClass();
Clone()
protected Object clone() throws CloneNotSupportedException {
if (!(this instanceof Cloneable)) {
throw new CloneNotSupportedException("Class " + getClass().getName() +
" doesn't implement Cloneable");
}
return internalClone();
}
克隆方法:创建并返回此对象的副本;
对于任何对象x x.clone()!=x
而且x.clone().getClass()==x.getClass() 成立 虽然对象的基类都支持clone 但是object本身并未实现cloneable,所以自定义的类需要实现cloneable接口,否则将抛出异常
toString()
返回对象的字符串表示形式,一般说来,这个方法返回一个固定的模版public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
这个在实际开发中,并不好体现,所以各大编译器都支持 重新生成toString(),如:
public static class User {
private String name;
private int age;
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。