接口 多态

一、接口

    (1)接口的定义:因为继承只能单继承,我们为了实现多继承,所以我们需要使用接口来实现多继承。

                            接口实际上是一种规范,连接接口的类或接口必须满足本接口的内容。

   (2)接口的特点:

              ①接口使用interface关键字,而不是class。接口也是特殊的抽象类。

              ②接口里只能有抽象方法和常量。

              ③接口不能实例化,因为接口实例化没有任何意义

              ④接口不能提供构造方法。因为接口中只能有常量,不能有成员变量

  (3)接口的使用:

              ①接口中的常量:默认使用修饰词public static final 所以书写时可以为:类型  常量名

              ②接口中的方法:默认使用public abstract 书写时可以为:返回值 方法名

              ③接口间的继承:接口与接口之间可以使用继承。

                                         支持多继承

(4)接口的实现:

              ①子类需要实现接口中的所有抽象方法。

              ②使用implements关键字进行实现

              ③如果子类没有实现所有抽象方法,那么子类需要使用abstract来修饰

              ④子类可以实现多个接口,接口名之间使用逗号分开

二、多态:

          面向对象的特征之一

   使用:

          (1)向上造型:父类型的变量引用子类型的对象

                     ①父类型的变量指向不同的子类型对象,调用的功能有不同的实现。

                           如:Person p = new Stuent();

                                             p.learn();

                                           p = new Worker();

                                            p.learn();

                    ②不同的父类型变量指向同一个对象有不同的功能

                             Lenovo l = new Lenovol();

                                          l.play();

                             InterP p = l;

                                        p.play();

         (2)向下造型:

                 ①将父类型(接口)的变量赋值给子类型或者是接口的变量

                                       Person p = new Student();

                                         Student stu = (Student)stu;

                                          stu.learn();

                  ②向下造型会出现的异常:

                              在没有实例化的情况下进行强转并调用,运行期间有可能会发生类造型异常:java.lang.ClassCastException

                              我们可以使用instanceOf来避免错误

                                             if(父类型变量   instanceOf 子类名){

                                                        子类名    子类变量 = (子类名)父类型变量;   

                                              }

 

         

                  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值