class Learn03{
public static void main(String[] aa){
A b = new B(); //接口也可以用多态
b.method1();
b.method2();
((A1)b).eat();
((A1)b).play();
//匿名内部类的使用--现场调用--一般只使用一次才用
new Apple (){
public void getPrice(){
System.out.println("显示价格" + price);
}
}.getPrice();
}
}
//interface可以理解为完全抽象的类,里面的方法全部都是抽象的,所以接口没有构造方法
interface A{
void method1();
void method2();
}
//接口之间也可以继承
interface A1{
void eat();
void play();
}
//接口中的变量都是final类型
interface Apple {
final float price =12f;
final float weight=13f;
void getPrice();
}
//注意extends只能继承普通类和抽象类,不能继承接口
//接口可以被实现
//一个类可以同时实现多个接口,用逗号隔开
class B implements A,A1{
public void method1(){
System.out.println("这里是方法1");
}
public void method2(){
System.out.println("这里是方法2");
}
public void eat(){
System.out.println("eat");
}
public void play(){
System.out.println("play");
}
}