Java接口定义(interface)及使用(implements)

1. 在类的声明中,通过关键字extends来创建一个类的子类。一个类通过关键字implements声明自己使用一个或者多个接口。
extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用
2.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口 来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了

相对抽象类来讲,接口就是比抽象类还要抽象的抽象类,丝毫不带半点实现的内容。
接口可以更加规范的对子类进行约束。
接口全面地专业地实现了:规范和具体实现的分离。
接口就是规范,定义的是一组规则,提现了现实世界中“如果你是...则必须...”的思想。如果你是动物,则必须能动。

接口的本质是契约,就像法律一样。制定好后大家都遵守。
项目的具体需求是多变的,我们必须以不变应万变才能从容开发,此处的“不变”就是“规范”。
因此,我们开发项目往往都是面向接口编程!

例子:

[java] view plain copy

  1. package com.ws.basic;
  2. interface gobj{
  3. public abstract void  attack();
  4. }
  5. class tower implements gobj{
  6. @Override
  7. public void attack() {
  8. System.out.println("箭塔攻击范围内所有目标,重甲单位有伤害加成!");
  9. }
  10. }
  11. public class test {
  12. public static void main(String[] args) {
  13. tower t = new tower();
  14. t.attack();
  15. }
  16. }

接口的定义:

接口中只有常量和抽象方法:
常量是 public static final
方法是 public abstract
如果没有写,就是默认的。

implements:

implements是一个类实现一个接口用的关键字,它是用来实现接口中定义的抽象方法。
java中没有多继承,为了弥补这里的不足,用到了 interface 。
java 中的接口定义基本上就是像C++中的类中定义的类中包含实虚函数也就是C++中的抽象类。

接口不能创建实例,但是可用于声明引用变量类型。
一个类实现了接口,必须实现接口中所有的方法。
接口支持多继承,例如:class A extends B implements C,D,E

接口和类的区别:

接口不能用于实例化对象。
接口没有构造方法。
接口中所有的方法必须是抽象方法。
接口不能包含成员变量,除了 static 和 final 变量。
接口不是被类继承了,而是要被类实现。
接口支持多重继承。

接口和抽象类的区别:

抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
一个类只能继承一个抽象类,而一个类却可以实现多个接口。

接口的主要应用:

多态接口动态加载;
接口作为方法的参数传递;
产生常量群。

原文地址:https://www.cnblogs.com/shikamaru/p/8361531.html

时间: 2024-10-08 06:10:46

Java接口定义(interface)及使用(implements)的相关文章

java接口(interface)与现实(implements)

package com.sadhu; import java.util.*; /** 接口 接口中不能有字段 所有的方法都是公共的 可以定义常量 接口是多继承的,一个类可以继承多个接口. 接口中不能有实现的方法.可以认为是纯的抽象类. 接口不能被实例化,但是可以声明一个接口类型的变量 */ public class Sample {     public static void main(String[] args)throws Exception     {         Student[]

[Java] 接口(Interface)与 抽象类 (Abstract)使用规则和区别

接口(Interface) 是抽象方法的集合,接口通常以interface来声明. 一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念. 类描述对象的属性和方法.接口则包含类要实现的方法. 除非实现接口的类是抽象类,否则该类要定义接口中的所有方法. 接口无法被实例化,但是可以被实现.一个实现接口的类,必须实现接口内所描述的所有方法(所有方法都是抽象的方法),否则就必须声明为抽象类. 接口没有构造方法,支持多重继承,不能包含成员变量

Java接口定义和实现

1. 使用interface来定义一个接口.接口定义类似类的定义,分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成.定义接口的基本格式如下: 1 [修饰符] interface 接口名 [extends 父接口名列表]{ 2 [public] [static] [final] 常量; 3 [public] [abstract] 方法; 4 } 修饰符:可选参数public,如果省略,则为默认的访问权限: 接口名:指定接口的名称,默认情况下,接口名必须是合法的Java标示符,一般情

java 接口(interface)

接口定义:[修饰符] interface 接口名 extends 父接口名1,父接口名2 ...{ } 接口可以说是一种特殊的抽象类.接口只能定义方法,而不能实现方法的实例. 1.接口中能够定义抽象方法,这些方法都是默认为public. 2.接口中声明的属性都是默认为public static final,也只能是public static final. public interface Output { //系统自动为接口中的成员变量增加public static final修饰符 //下面两

Java接口(interface),扫盲贴

接口(interface)是Java所提供的另一种重要技术,它的结构和抽象类非常相似,也具有数据成员与抽象方法,但它与抽象类又有以下两点不同:1.接口里的数据成员必须初始化,且数据成员均为常量.2.接口里的方法必须全部声明为abstract,也就是说,接口不能像抽象类一样保有一般的方法,而必须全部是“抽象方法”. 接口定义的语法如下: interface 接口名称// 定义抽象类 { final 数据类型 成员名称 = 常量 :// 数据成员必须赋初值 abstract 返回值的数据类型 方法名

java接口定义和作用

接口语法 1.接口是一种引用类型,可以等同看作类.修饰符 interface 接口名 2.接口中只能出现常量和抽象方法 3.接口其实是一个特殊的抽象类,特殊在接口是完全抽象的 4.接口中没有构造方法,接口也无法实例化 5.接口和接口之间可以多继承 6.一个类可以实现多个接口,这里的实现等同于继承 7.一个非抽象的类实现接口,需要将接口中所有方法实现/重写/覆盖 #java package study1; public interface A{ //常量都是public static final,

Java 接口:interface

为什么Java使用接口? Java中不支持多继承,也就是不能存在一个子类继承多个父类的情况,当然你会问这是为什么呢.因为这会造成子类中某些方法或者变量的不确定性. 为了弥补 [1] 中采用单继承所带来的不足,Java出现了接口这个概念,接口可以很好的避免这个问题的出现. Java中通过多实现接口的方式去解决类之间无法多继承的问题. 什么是接口? 在java程序设计语言中,接口不是类,而是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义.一个接口只有方法的特征,而没有方法的实现,因此这些

java接口定义统一的异常处理,aop

统一异常处理,aop import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.*; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.Map; @Aspect @Component public class TestAop { /** * 定义切入点 */ @P

Java中接口(Interface)的定义和使用

有关 Java 中接口的使用相信程序员们都知道,但是你们知不知道接口到底有什么用呢?毫无疑问,接口的重要性远比想象中重要.接下来我们便一起来学习Java中接口使用. Java接口是什么 Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 接口(英语:Interface),在JAVA编程语言中是一个抽象类型(Abstract Type),它被用来要求类(Class)必须实现指