instanceof操作符
x instanceof A:检验x是否为类A的对象,返回值为booean型
- 要求x所属的类与类A必须是子类喝父类的关系,否则编译错误,
- 如果x所属类A的子类B,x instanceof A值也为 true
如何才能调用子类特有的属性和方法?
向下转型: 使用强制类型转换符(),使用强制转换时,可能会出现 ClassCastException 的异常
object类的使用
Object 类是所有Java类的根父类
如果在类的声明中未使用extends关键字指明其父类,则默认父类为 java.lang.Object 类
object类中的功能(属性,方法)就具有通用性
object类只声明了一个空参的构造器
“==”与“equals”的区别
“==”
- 是一个运算符,可以使用在基本数据类型变量,和引用数据类型变量中
- 如果比较的是基本数据类型,则比较的是 两个变量保存的数据是否相等(不一定类型要相同)
- 如果是引用数据类型变量,则比较的是两个变量的地址值是否相同
“equals”
-
是一个方法,而非运算符
-
只能适用于引用数据类型
-
object类中equals()的定义:
public boolean equals(Object obj) { return (this == obj); }
说明: object类中定义的equals()和==的作用是相同的,比较两个对象的地址值是否相同
-
像String,Date,File ,包装类,等都重写 了equals方法,重写以后比较的不是地址值是否相同,而是比较两个变量的“实体内容”是否相同
object类中toString()的使用
-
当我们要输出一个对象的引用时,实际上就是调用当前对象的toString()
public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); }
-
像String ,Date,File,包装类等都重写了object类中的toString()方法,使得在调用对象的toString()时,返回“实体内容”信息
-
自定义类也可以重写toString()方法,当调用此方法时,返回实体内容
Java中的JUnit单元测试
步骤:
- 选中当前工程-右键选择:build path -add libraries-JUnit 4 -下一步
- 创建Java类,进行单元测试 此时的Java类的要求:1:此类是public的 2:此类提供公共的无参构造器
- 此类中声明单元测试方法,此时的单元测试方法:方法的权限是public,没有返回值,没有形参
- 此单元测试方法上需要声明注解:@Test,并在单元测试类中导入: import org.junit.Test;
- 声明好单元测试方法以后,就可以在方法体内测试相关的代码
- 写完代码以后,左键双击单元测试方法名,右键:run as -JUnit Test
说明:
- 如果执行结果没有任何异常:绿条
- 如果执行结果出现异常:红条
包装类的使用
- Java提供了8种数据类型对应的包装类,使得基本数据类型的变量具有类的特征
JDK5.0新特性:自动装箱与自动拆箱