packagec;publicclass main {publicstaticvoidmain(String[] args){B b =newB();System.out.println(b.a);System.out.println(A.a);System.out.println(B.a);}}interfaceA{int a =10;// 等价于 public static final a = 10;}classBimplementsA{}// 输出结果101010
要求:编写 a 类,b 类实现接口,遍历数组,调用共有的方法,如果遍历的是 b 类,即调用独有的方法
packagea;publicclass main {publicstaticvoidmain(String[] args){
arr[] interface_arr =new arr[2];
interface_arr[0]=newa();
interface_arr[1]=newb();for(int i =0; i < interface_arr.length; i++){
interface_arr[i].shared_method();// 如果是b对象就调用其独有的方法if(interface_arr[i]instanceof b){((b) interface_arr[i]).unique_method();}}}}interface arr{voidshared_method();}class a implements arr{publicvoidshared_method(){System.out.println("a类中调用了共有的方法");}}class b implements arr{publicvoidshared_method(){System.out.println("b类中调用了共有的方法");}publicvoidunique_method(){System.out.println("调用了b类独有的方法");}}// 输出结果
a类中调用了共有的方法
b类中调用了共有的方法
调用了b类独有的方法
(2)代码示例:多态传递
packaged;publicclass main {publicstaticvoidmain(String[] args){B b =newtest_class();A a =newtest_class();}}interfaceA{voida();}interfaceBextendsA{voidb();}class test_class implementsB{@Overridepublicvoida(){}@Overridepublicvoidb(){}}
每日激励:“不设限和自我肯定的心态:I can do all things。 — Stephen Curry” 绪论: 本章将开启Qt的学习,Qt是一个较为古老但仍然在GUI图形化界面设计中有着举足轻重的地位,因为它适合嵌入式和多种平台而被广泛使用…