- 所有类均继承自Object类。一个好的类应覆写Object类中的toString()、equals()和hashCode()这3个方法,所有对象都可以向Object类进行向上转型。
- Java多态性分为:向上转型(自动)与向下转型(强制)。
- instanceof:判断对象是否属于哪个类。使用格式 对象 instanceof 类名
- 包装类:对基本数据类型进行包装的类。其对应如下:
基本数据类型:值传递;直接存数值。基本数据类型 包装类 int Integer char Character short Short long Long float Float double Double boolean Boolean byte Byte
包装类:引用传递;包装类是对象,拥有方法和字段。对象的调用都是通过引用对象的地址;包装类创建的是对象,拥有方法和字段。
Java把内存划分成两种:一种是栈内存,另一种是堆内存
在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,而实际的对象是在存储堆内存中
即
在堆中分配的内存,由java虚拟机的自动垃圾回收器来管理.int i = 5;//直接在栈中分配空间 Integer i = new Integr(5);//对象是在堆内存中,而i(引用变量)是在栈内存中
因为在堆中分配空间所需的时间远大于从栈中分配存储空间,所以JAVA速度比C 慢
当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这是就需要这些基本类型的包装类了。 - 装箱与拆箱:
如:float f=3.14f; Float F=new Float(f);//装箱:将基本数据类型转为包装类对象 float float=F.floatValue();//拆箱:将一个包装类对象变成基本数据类型