package com.li.sum;
public class interfaceExercise {
public static void main(String[] args) {
// 上转型,将子类对象赋值给父类(父类可以使抽象类,甚至是接口)
A a = new C();
a.f1();
System.out.println("*************************");
// 下转型,将已经上转型的对象再强制转换为子类,可以将隐藏的方法都显示出来
C c = (C)a;
c.f1();
c.f2();
System.out.println("*************************");
// 接口多继承中特殊的下转型,可以将上转型的对象通过强制转换赋值给多继承中的另一个父类
B b = (B)a;
b.f2();
}
}
interface A{
void f1();
}
interface B{
void f2();
}
class C implements A,B{
@Override
public void f1() {
System.out.println("1...");
}
@Override
public void f2() {
System.out.println("2...");
}
}
关于上下转型以及接口的多继承