java.lang.Object类是Java语言中类层次结构的根类,也就是说任何一个类都是该类的直接或者间接子类
1. equals()方法
public boolean equals(Object obj) { return (this == obj);
}
2. toString()
//Object类中toString()的定义
public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
通常情况下基本数据类型的变量不是对象,为了满足万物皆对象的理念就需要对基本数据类型的变量进行打包封装处理变成对象,而负责将这些变量声明为成员变量进行对象化处理的相关类,叫做包装类
Integer类
java.lang.Integer类内部包装了一个int类型的变量作为成员变量,主要用于实现对int类型的包装并提供int类型到String类之间的转换等方法
常用的常量
常用的方法
java5 加入自动装箱机制,将-128到127之间的整数已经装箱完毕,当程序中使用该范围之间的整数时,无需装箱直接取用自动装箱池中的对象即可,从而提高效率
/** * Cache to support the object identity semantics of autoboxing for values between
* -128 and 127 (inclusive) as required by JLS.
*
* The cache is initialized on first usage. The size of the cache
* may be controlled by the {@code -XX:AutoBoxCacheMax=
* During VM initialization, java.lang.Integer.IntegerCache.high property
* may be set and saved in the private system properties in the
* jdk.internal.misc.VM class. */
private static class IntegerCache { static final int low = -128; static final int high; static final Integer cache[]; //自动装箱范围-128~127
static { // high value may be configured by property
int h = 127;
String integerCacheHighPropValue \= VM.getSavedProperty("java.lang.Integer.IntegerCache.high"); if (integerCacheHighPropValue != null) { try { int i = parseInt(integerCacheHighPropValue);
i \= Math.max(i, 127); // Maximum array size is Integer.MAX\_VALUE
h = Math.min(i, Integer.MAX\_VALUE - (-low) -1);
} catch( NumberFormatException nfe) { // If the property cannot be parsed into an int, ignore it.
}
}
high = h;
cache \= new Integer\[(high - low) + 1\]; int j = low; for(int k = 0; k < cache.length; k++)
cache\[k\] \= new Integer(j++); // range \[-128, 127\] must be interned (JLS7 5.1.7)
assert IntegerCache.high >= 127;
} private IntegerCache() {}
}
2. Double
常用的常量
3. Boolean
4. Character
总结:
Java中的JUnit单元测试步骤:
垃圾回收机制只回收JVM堆内存里的对象空间。对其他物理连接,比如数据库连接、输入流输出流、Socket连接无能为力
现在的JVM有多种垃圾回收实现算法,表现各异。
垃圾回收发生具有不可预知性,程序无法精确控制垃圾回收机制执行。
可以将对象的引用变量设置为null,暗示垃圾回收机制可以回收该对象。
程序员可以通过System.gc()或者Runtime.getRuntime().gc()来通知系统进行垃圾回收,会有一些效果,但是系统是否进行垃圾回收依然不确定。
垃圾回收机制回收任何对象之前,总会先调用它的finalize方法(如果覆盖该方法,让一个新的引用变量重新引用该对象,则会重新激活对象),不要人为的主动调用某个对象的finalize方法,应该交给垃圾回收机制调用。
依赖关系
对象之间最弱的一种关联方式,是临时性的关联。代码中一般指由局部变量、函数参数、返回值建立的对于其他对象的调用关系。
class A{ public B method(C c,D d){
E e = new E();
…
B b = new B();
… return b;
}
}
这里A依赖了BCDE类
关联关系(Association)
对象之间一种引用关系,比如客户类与订单类之间的关系。这种关系通常使用类的属性表达。关联可以有方向,即导航。一般导航是双向的,不需要在线上标出箭头。
class Employee{ private int eid;//员工编号
private String name;//员工姓名
private Computer coumputer;//员工所使用的电脑 //….
} class Computer{
}
聚合关系
表示 has-a 的关系。与关联关系一样,聚合关系也是通过实例变量来实现这样关系的。关联关系和聚合关系来语法上是没办法区分的,从语义上才能更好的区分两者的区别。
组合关系
对象 A 包含对象 B,对象 B 离开对象 A 没有实际意义。是一种更强的关联关系。人包含手,手离开人的躯体就失去了它应有的作用,表示 contains-a 的关系,是一种强烈的包含关系。组合类负责被组合类的生命周期。也使用属性表达组合关系,是关联关系的一种,是比聚合关系强的关系。
继承关系
类与类的继承关系,类与接口的实现关系
使用 native 关键字说明这个方法是原生函数,也就是这个方法是用 C/C++等非Java 语言实现的,并且被编译成了 DLL,由 java 去调用
手机扫一扫
移动阅读更方便
你可能感兴趣的文章