10 接口,多态

一、接口

1.什么是java中的接口

接口是多个类的规范

2.接口能实例化(创建对象)吗?

不能new

3.接口的常量定义和使用

[public] [static] [final] int NUM = 10;([ ]里面的可以省略,但是省略不代表没有 )

接口中的常量必须赋值,而且常量要大写

4.接口能不能有构造方法

不能(因为接口不能实例化)

5.接口之间的多继承

一个接口可以继承(extends)多个父接口


接口总结

在Java 9+版本中,接口的内容可以有:

1. 成员变量其实是常量,格式:

[public] [static] [final] 数据类型 常量名称 = 数据值;

注意:

    常量必须进行赋值,而且一旦赋值不能改变。

    常量名称完全大写,用下划线进行分隔。

2. 接口中最重要的就是抽象方法,格式:

[public] [abstract] 返回值类型 方法名称(参数列表);

注意:实现类必须覆盖重写接口所有的抽象方法,除非实现类是抽象类。

3. 从Java 8开始,接口里允许定义默认方法,格式:

[public] default 返回值类型 方法名称(参数列表) { 方法体 }

注意:默认方法也可以被覆盖重写

4. 从Java 8开始,接口里允许定义静态方法,格式:

[public] static 返回值类型 方法名称(参数列表) { 方法体 }

注意:应该通过接口名称进行调用,不能通过实现类对象调用接口静态方法

5. 从Java 9开始,接口里允许定义私有方法,格式:

普通私有方法:private 返回值类型 方法名称(参数列表) { 方法体 }

静态私有方法:private static 返回值类型 方法名称(参数列表) { 方法体 }

注意:private的方法只有接口自己才能调用,不能被实现类或别人使用。




二、多态(父类引用指向了子类对象)

1.使用多态的前提

a. 必须是在子类与父类之间的继承上

b. 类与接口的实现

2.多态的格式

父类名 对象名  = new 子类名(参数);

接口名 对象名  = new 实现类名(参数);

3.多态访问成员方法的规则

编译看左边,运行看右边

例如:Fu f = new Zi();

          f.method();

当使用多态方式调用方法时,首先检查父类中是否有该方法(编译看左边),如果没有,则编译错误;如果有,执行的是子类重写后方法。

4.多态访问成员变量

编译看左边,运行还是看左边;

5.使用多态的好处

等号左边的对象只管调用,而不用关心右边是哪个儿子;

多态可以简化书写;

猜你喜欢

转载自blog.csdn.net/woshilovetg/article/details/81414756
今日推荐