package com.advancedlearning.Test01; //定义一个接口,名字是Action public interface Action { // 飞的动作方法 void fiy(); // 游泳的动作方法 void swim(); }
package com.advancedlearning.Test01; //子类鸟类实现父类接口 public class Bird implements Action{ // 重新父类接口中的飞的方法 @Override public void fiy() { System.out.println("小鸟在天空飞翔"); } //重写父类接口中的游泳的方法 @Override public void swim() { System.out.println("小鸟会游泳?"); } }
package com.advancedlearning.Test01; public class Test{ public static void main(String[] args) { //父类型引用指向子类型对象,实例化一只鸟,这里是多态的用法 Action b =new Bird(); //调用子类型对象的方法 b.fiy(); b.swim(); } }
类型与类型之间的关系(记住) is a 、has a、 like a is a: Cat is a Animal (喵喵是一个动物) is a 凡是满足这个的就是表示继承关系 has a : I has a pen(我有一只笔) 凡是满足这个的就表示关联关系,关联关系一般以“属性”形式存在 like a: Cooker like a FoodMenu(厨师像一个菜单一样 ) 凡是满足这个关系的就表示“实现关系” 通常是:类实现接口 ps: 接口在jdk1.8之后,可以使用static和default两个关键字修饰方法