Java接口

接口定义:抽象描述现实世界中不同事物的共同行为特征--公共的抽象方法

接口不是类,接口是一种全新的概念,因此接口和类的区别是什么呢?

回答: 接口只有行为没有属性,但是接口也有多态属性,因此从继承的角度来看接口也是类,子不过这种类是针对行为的,及不同种类数据但是有同一种行为就可以归纳到同一个接口

接口内部:仅可以定义公共的静态方法和全局常量(public static finaly),但是全局常量对于接口的定义没有意义

接口里面的方法全部都是公共抽象方法 --接口定义可以忽略public,abstract 关键字 编译器导致,不能使用private 等修饰词

接口里面的属性必须是全局常量 public static final 修饰

接口调用,具体类可以实现接口,具体关键字为implements(实现),具体类实现接口后可以通过本类或者接口类型接收数据 -- 接口不是类为什么可以接收数据呢?

接口不是类,因此不可以new对象,接口是方法的抽象,因此接口用来被子类实现,new类 可以在内存空间中记录变量属性和类方法,但是new接口因为接口内部都是空,所以不可以new接口

子类继承多个父类,这样会让相同的方法名称方法体冲突,但是子类继承多个类和接口具有相同的方法名,因为继承接口必须要重写方法,所以不冲突,所以最根本原因在于父类 相同的多个方法不需要重新定义,但是接口需要重新定义猜的

接口因为内部都是抽象方法(没有方法体),因此可以帮助java间接实现多继承,直接多继承是因为继承多个类中可能方法之间有冲突,而抽象方法无所谓,所以可以用接口实现。

具体的子类必须实现接口定义的所有方法

为什么子类实现接口的方法,需要用public 关键字,用private关键字不行么?

多态:父类的变量在数据本质上还是子类,改变仅是数据的使用方法,

因此可以在父类的变量造型其他父类

object obj = new animal();

interface_a a1 = (interface_a )obj ;

多接口调用语法:

public class classname [extends superclass] [implements interface name1,name2,name3,... ]

继承的子类方法再本类中重写是不能使用static关键字

posted @ 2023-03-05 09:19  时光匆匆~  阅读(12)  评论(0编辑  收藏  举报