day03-面向对象【接口、多态】

                -----------day03-面向对象【接口、多态】-----------------

1.接口:

Java中的接口是一个比抽象类还抽象的类,因为在接口中定义的方法都是抽象方法;

2.接口的定义格式:

      修饰符 interface 接口名{
            定义抽象方法;
            };
    接口中不仅可以定义抽象方法,也可以定义变量。
定义变量的格式:
        public static final 数据类型 变量名=初始值;
        final 表示 最终的 不可改变的;
也就是说定义一个变量,给它赋了一个最终值,这个值以后就不会再改变,也就是定义了一个常量;

3.接口实现类的定义

格式:
    修饰符 class 类名 implements 接口名{
            实现接口中的所有方法;
        };

    使用:
        1.创建实现类对象;
        2.通过实现类对象调用方法和常量。
总结:
    一个接口也有多个实现类;
    接口是用来定义功能的名字的,实现类是用来实现具体的功能的.

4.定义接口的细节

1.接口中只能定义常量,格式:public static final 数据类型=常量值;
前面的关键字可以不谢,也可以挑着写,即使不写或者挑着写,默认也是
    public static final 。
2.接口中只能定义抽象方法,格式:public abstract 返回值类型 方法名(参数列表);
 前面的关键字可以不谢,也可以挑着写,即使不写或者挑着写,默认也是 public abstract;
以后开发时,abstract 关键字不写;

5.接口的特点:

1.定义接口的关键字是 interface 不是class;
2.接口可以定义常量,不能定义变量;
3.接口中只能定义抽象方法,不能定义普通方法;
4.接口不能创建对象,也就是不能 new;
5.接口可以继承接口,而且可以多继承;
6.一个类可以实现多个接口;

6.接口和抽象的区别

相同点:

1.都不能创建对象,也就是都不能new;
2.都可以定义抽象方法和常量;
3.扩展性都很强;

不同点:

1.定义接口关键字是interface ,定义抽象类关键字是 abstract class;
2.接口中不能定义变量,抽象类中可以;
3.接口可以多个继承,抽象类只能继承一个父类;
4.接口中方法只能是抽象方法,抽象类中方法可以是抽象方法也可以是普通方法;
5.接口比抽象类扩展性更强;
6.接口给实现类扩展功能(额外添加的功能),抽象类是抽取子类共有的方法;

使用情形:

当让子类都重写(实现)的方法可以写到接口中;
当让子类需要继承一些方法,而又需要重写一些方法时就使用抽象类;

由于接口的扩展性比较强,以后开发时主要是面向接口的开发,接口的使用比较多;

7.多态

某一种事物在不同的阶段体现出来的不同形态;

8.多态的写法

1.继承的写法
    前提条件:有一个父类,有一个子类;
    格式: 父类名 对象名=new 子类名(参数列表);
        (父类类型的变量指向了子类的对象)
2.特点;
    1.通过多态不能访问子类中特有的成员变量和成员方法。
    2.如果子类重写了父类中的方法,通过多态访问时,访问子类中重写父类后的方法;
    3.如果子类重写了父类中的变量,通过多态访问时,访问父类中的变量。不是子类中的;
3.实现接口的写法:
    前提条件:有一个接口,有一个实现类;
    格式: 接口名 对象名=new 实现类名(参数列表);
4.特点:
    通过多态访问方法时,访问的是实现类中的实现后的方法;
5.多态的好处和弊端:
    1.好处:提高方法的代码的复用性与扩展性,如果没有方法重写,则多态同样没有意义。
    2.弊端:不能调用子类的特有成员;

总结

多态:父类类型的变量指向子类的对象;
格式:父类名 对象名 = new 子类名(参数列表);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值