java 接口的应用
一直以为java 中的接口像类一样只能继承一个接口,显然我错了,而且似乎太晚了些。
package com.laos.util.test;
public interface Card {
//final InnerObj obj = new InnerObj();
void play();
}
package com.laos.util.test;
public interface Cart {
void play();
}
两个接口Card 和Cart定义了名称一直的方法。
package com.laos.util.test;
public interface ICard extends Card, Cart {
void test();
}
接口ICard继承了Card和Cart 。
package com.laos.util.test;
public class TestMain implements ICard {
public void test() {
// obj.play();
}
public void play() {
System.out.println("hello");
}
public static void main(String[] args){
Card main = new TestMain();
Cart main2= new TestMain();
main.play();
main2.play();
}
}
TestMain 类实现了ICart接口,注意该类中只有一个play()方法的实现。注意Cart和Card的变量都可以引用TestMain,而且运行play方法,都是可行的。
补充点:
package com.laos.util.test;
public interface Card {
InnerObj obj = new InnerObj();
void play();
}
该接口中的obj对象是static final 类型的。可以在通过以下方式使用:
package com.laos.util.test;
public class TestMain implements ICard {
public void test() {
}
public void play() {
Card.obj.play();//可行
this.obj.play();//可行
System.out.println("hello");
}
public static void main(String[] args){
Card main = new TestMain();
Cart main2= new TestMain();
main.play();
main2.play();
}
}