多态
1、多态:允许一个父类的变量引用子类的对象,允许一个接口类型变量引用实现类对象。反过来却不行。(一句话描述:相同的行为,不同的实现。)
2、多态调用:利用父类变量指向子类对象,调用的方法和属性只限于父类中定义的方法和属性,不能调用子类中特有的方法或属性。
如果一个方法使用父类变量作为参数,就意味着调用该方法时可以传递任何一个子类对象。
3、接口:可以看作是抽象类的特例。抽象类中可以定义抽象方法,也可以定义具体方法,但在接口中只能定义抽象方法,所以接口可以看作是行为的抽象。
如果一个类实现接口后,那么可以使用接口变量指向实现类对象;所调用的方法,就是实现类实现的方法。
如果一个方法使用接口做参数,意味着可以传递任何一个该接口的实现类对象。
在接口中只能定义抽象方法,并且该方法只能是公有的抽象方法。所以不能用protected和private修饰接口中的方法。
在接口中不能定义属性,只能定义公有的静态的常量。
关键字:implements
格式: 接口定义 implement 接口名 { 定义方法}
public class 类名 implements 接口名{ 实现方法}
示例:
1 //定义男人类 2 class Man { 3 private String name; 4 } 5 //定义丈夫类,并继承男人类,两个接口 6 class Husband extends Man implements IWash, IGetMoney { 7 //实现具体方法 8 @Override 9 public void getMoney() { 10 System.out.println("拿银行卡取钱"); 11 } 12 //实现具体方法 13 @Override 14 public void wash() { 15 System.out.println("洗衣服"); 16 } 17 } 18 19 //洗衣服接口 20 interface IWash { 21 //定义方法 22 void wash(); 23 } 24 25 //拿钱接口 26 interface IGetMoney { 27 //定义方法 28 void getMoney(); 29 }