java.lang(可以分为三类,类型,工具,系统)
Object类没有定义属性,一共有13个方法
1.public Object();
一个默认的构造器,也是一个基础类,
新建一个类的时候就会有这样的情况出现,当然里面也可以传参
2.private static native void registerNatives(); -registerNatives()内存中分配一个空间.
3.protected native Object clone() throws CloneNotSupportedException; clone()复制一个一模一样的对象
4.public final native Class<?> getClass(); 与Object.class相同,获取一个类对象加载,反射的知识内容
5.public boolean equals(Object obj);
6.public native int hashCode(); 本地方使用的
7.public String toString(); 返回该对象的字符串表示
8/9/10/11/12. wait(...) / notify() / notifyAll() 这些方法几乎与线程有关系
13. protected void finalize();与垃圾回收机制有关
equals与hashCode(集合set用多)
如果两个对象的相同,那么他们的hashcode相同,如果hashcode相同,那么对象不一定相同。
equals()方法不相等的两个对象,hashcode()有可能相等。反之
所以重写equals也要重写hashcode,因为判断的时候先判断hashcode是否一直在判断equals。
比如new一个对象出来之后,对象的内容是一样的。用equals对比之后,返回true,但是调用的hashcode的key不相同,所以重写hashcode()
类
Class,用来表示类和接口的类型。Class对象在类加载时由JVM调用类加载器中的defineClass方法自动构造。
获得类的方式:
1.MyObject x;
Class c1 = x.getClass();
2.Class cl1 = Manager.class;
forName和newInstance结合起来使用,可以根据存储在字符串中的类名创建对象。例如
Object obj = Class.forName(s).newInstance();
ClassLoader,负责加载类。
Compiler,作为编译器的占位符,它不做任何事情,仅用来支持Java到本机代码的编译器及相关服务。
String,字符串类。