自学JAVA-7:多态

多态

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 }    
接口
原文地址:https://www.cnblogs.com/LYL6868/p/8846030.html