java 07 多态强转
例子1
class Interfacedemoplus{
public static void main(String[] agrs){
Womanstar Won =new Womanstar();
//隐式转换
Whit w = Won;
Rich r = Won;
//无包含关系,强转
Beautiful b = (Beautiful)w;
//打印Beau
b.Beau();
//小范围 往大范围转
WRB wrb =(WRB)b;
Whit www =wrb;
}
}
//定义接口
interface Whit{
void vertWhit ();
}
interface Rich{
void hasmoney ();
}
interface Beautiful{
void Beau ();
}
//一个接口继承三个接口
interface WRB extends Whit,Rich,Beautiful {
}
//类实现接口多个接口
class Womanstar implements WRB {
public void vertWhit(){
System.out.println("很白~~");
}
public void hasmoney(){
System.out.println("有钱~~");
}
public void Beau(){
System.out.println("美丽~~");
}
}
-------------------------------------------------------------------------------------------------------------------
例子2
class Interfacedemochangliang{
public static void main(String[] agrs){
Jing8 jin8 =new Jing8();
jin8.meng();
//变相调用
Dog d =jin8;
d.watch();
//多态
anmial a = d;
a.cry();
//强制转换多态
Pet pet =(Pet) a;
//强制转换多态
anmial aa =(anmial)pet;
//jin8既继承了dog和anmial又implements Pet所以可以直接看
Pet jjj =jin8;
}
}
//接口中加入常量
abstract class anmial {
public void cry(){
System.out.println("汪汪汪");
}
}
class Dog extends anmial{
public void watch(){
System.out.println("有人来了~~");
}
}
//继承加接口
class Jing8 extends Dog implements Pet {
public void meng(){
System.out.println("!!重新为~~");
}
}
interface Pet{
void meng();
}