interface Person {
public void fun1();
}
class Student implements Person {
public void fun1() {
System.out.println("Studnt Class fun1()");
}
public void fun2(){
System.out.println("Student Class fun2()");
}
}
public class InterfaceApplianceDemo {
public static void hehe(Person p){
p.fun1();
//利用接口實例化對象,對象p只能調用在接口中實現的實例化函數。。如p.fun2();會報錯
// p.fun2();
//可以將p強制轉換爲p2對象,使得可以用p2調用fun2()函數
Student p2 = (Student)p;
p2.fun2();
}
<span style="white-space:pre"> </span>/*
<span style="white-space:pre"> </span> * 說明接口和它的實現類可以相互轉化
<span style="white-space:pre"> </span> */
<span style="white-space:pre"> </span>public static void haha(Student s){
<span style="white-space:pre"> </span>Person p = (Student)s;
<span style="white-space:pre"> </span>
<span style="white-space:pre"> </span>p.fun1();
<span style="white-space:pre"> </span>//不可以
//<span style="white-space:pre"> </span>p.fun2();
<span style="white-space:pre"> </span>}
public static void main(String[] args) {
Person p = new Student();//接口對象實例化,對象的多態性
p.fun1();
//利用接口實例化對象,對象p只能調用在接口中實現的實例化函數。。如p.fun2();會報錯
// p.fun2();
//可以將p強制轉換爲p2對象,使得可以用p2調用fun2()函數
Student p2 = (Student)p;
p2.fun2();
}
}