为什么我们需要接口而不是类和我们从接口实现的

Nis*_*shi 5 java

我们知道我们只能声明方法签名,也不能创建接口的实例.那么我们为什么需要界面 不必要加载到JVM中.这也是一种性能下降.我们正在创建接口和几个实现该接口的类,并定义接口的所有方法.实际上我们从这个界面取得了什么.能不能给我一些例子.

Jig*_*shi 9

接口是你强迫你的客户端实现一些指定的东西,实现将保留给客户端.而且java不支持多继承,通过扩展多个类,你可以实现多个接口.

例如: List声明add(..)方法List的所有实现都提供了它的实现.

更简单.

您定义了一个接口Animal和一个方法,speak()这意味着所有Animal必须与不同的实现进行对话.男人会说话,狗会吠,狮子会咆哮.

我们为什么要去创建类Animal额外.我们可以在每个班级中声明speak().我们将从Animal类获得什么,并在所有子类中实现speak().我仍然没有得到这个概念

主要优点是继承和多态[OOP的核心概念]

您也在此处指定 Animal的行为.

你可以有

Animal obj = new Man();

Animal obj = getAnimalForThisCriteria(something here);//this will return some animal at runtime so you can catch instance using Animal.
Run Code Online (Sandbox Code Playgroud)

你可能有三种不同的马,狗,狮子用相同的方法,但没有办法告诉他们都是动物,除非他们扩展或实现公共类或接口,这里有结构的概念