Person mi = new Man();
如何才能调用子类特有的方法和属性
>>强制类型转换
>>instanceof 关键字的使用:
>>a instanceof A:判断对象a是否是类A的实例。如果是返回true;如果不是返回false。
>>使用情景:为了避免在向下转型时出现ClassCastException的异常,我们在向下转型之前,首先进行instanceof 的判断,一旦返回true,就向下转型,如果返回false,则不进行向下转型。
>>如果a instanceof A返回true,则a instanceof B也返回true。其中类B是类A的父类。
>>Object类是所有Java类的根父类
>>如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类
>>“==”和equals的区别:
“==”可以使用在基本数据类型和引用数据类型中,基本数据类型比较的是数值是否相等,引用数据类型比较的是两个变量的地址值是否相同。
equal方法的使用:>>是一个方法,而非运算符
>>Object类中equals()的定义:
public boolean equals (Object obj){
return (this == obj);}
>>说明:Object类中定义的equals()和 == 的作用是相同的:比较两个对象的地址值是否相同,即两个引用是否指向同一个地址
>>象String 、Data、File、包装类等都重写了Object类中的equals()方法,重写以后,比较的不是两个引用地址是否相同,而是比较两个对象的实体内容是否相同
>>自定义类,如何重写equal()方法是其能够比较实体内容。需要对Object中equals()方法进行重写
*******************
//比较两个对象的实体内容是否相同
>>>>>>>>>toString()的使用
>>单元测试方法:步骤:选中当前工程---右键选择:build path --add libraries -JUnit4 - 下一步
创建java类进行单元测试,此时的java类要求:此类是公共的,类要提供 公共的无参的构造器,,,此类中声明单元测试方法:此时的单元测试方 法,要求:方法的权限是public,没有返回值,没有形参
此单元测试方法上需要声明注解:@Test,并在单元测试类中添加: import org.junit.Test
包装类的使用:>>java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征 >>掌握的:基本数据类型、包装类、String三者之间的相互转换
>>包装类如何转化为基本数据类型:调用包装类Xxx的xxxValue()