package 啥是接口;
public interface Speak {
//常量(不可以改变的,在接口中常量的修饰符:public static final(可不写) 变量类型 变量名大写 = 数值;)
/*public static final*/ int AGE = 18;
//抽象方法
//在接口可以省略public abstract
/*public abstract*/ void say();
}
package 啥是接口;
//实现Speak接口,用implements,没有接口想怎么写怎么写,实现了接口必须遵守接口的声明
public class Chinese implements Speak{
@Override//重写say的方法
public void say() {
System.out.println("北京爷打招呼:哟!五爷,您吉祥");
}
}
package 啥是接口;
public class 美国佬 implements Speak {
@Override
public void say() {
System.out.println("美国佬打招呼:Hi,bro");
}
}
package 啥是接口;
public class Test {
public static void main(String[] args) {
//接口不能创建对象 Speak s = new Speak();
//可以创建实现类的对象:
Chinese ch = new Chinese();
System.out.println(ch.AGE);//ch.AGE.sout+回车,访问常量
ch.say();//调用方法
美国佬 mg = new 美国佬();
System.out.println(mg.AGE);
mg.say();
System.out.println("-----以下通过接口实现多态-------");
//接口=实现类;
Speak s = new Chinese();
System.out.println(s.AGE);
s.say();
Speak s1 = new 美国佬();
System.out.println(s1.AGE);
s1.say();
// 多态三要素:
// 1.继承 == 接口+实现
// 2.重写 == 重写
// 3.父类引用指向子类对象 == 接口指向实现类对象
}
}