目录
一、多态性:体现为父类(基类)的引用对象指向子类(派生类)。
二、向上转型:把一个子类引用给一个父类引用,也就是父类引用 引用了子类的对象。
一、多态性:体现为父类(基类)的引用对象指向子类(派生类)。
定义格式:父类类型 变量名=new 子类类型( );
多态就是同一个接口,使用不同的实例而执行不同的操作。
多态就是同一个行为具有多个不同表现形式或形态的能力。
例如:
Animal animal=new Cat( ) ;
二、向上转型:把一个子类引用给一个父类引用,也就是父类引用 引用了子类的对象。
例如:
Cat cat=new Cat( );//子类创建对象
Animal animal=cat;//父类引用引用子类对象
向下转型:一个已经向上转型了的子类对象可以使用强制类型转换的格式,将父类引用类型转为子类引用的类型;
定义:子类类型 变量名=(子类类型)父类类型的变量;
三、动态绑定:方法可以在父类中定义而在子类中重写。
但父类引用只能调用子类中已经重写了的方法
例如:
Animal animal=new Cat( );
System.out.println( animal.tostring( ) );
上面animal 的声明类型为Animal,但是实际类型为 Cat,animal调用的方法取决于实际类型,即取决于Cat。
四、对象转换:对象的引用可以类型转换为对另一种对象的引用。
例如:
Object o=new Student( );
Student b=(Student) o;// 显示转换
- instanceof:JAVA中的关键字用于判断该对象是否是另一个对象的实例。
- 返回类型为 布尔类型。
例如:
FU f1=new f2( );
if( f1 istanceof f2){
System.out.println( “f1是f2的类型 ” );
}else{
System.out.println( “ f1不是f2的类型” ) ;
}