S2/JAVA/04-接口

接口的定义语法:[修饰符]   interface   接口名    extends    父接口1、父接口2、……{

//常量定义

//方法定义

}

类实现接口的语法:class   类名    extends   父类名    implements    接口1、接口2、……{

//类成员

}

接口的命名规则与类相同。如果修饰符是public,则该接口在整个项目中可见;如果省略修饰符,则该接口只在当前包可见。

接口中可以定义常量,不能定义变量。接口中的属性都会自动用public static final修饰,即接口中的属性都是全局静态常量。接口中的常量必须再定义时指定初始值。

public     static     final   int    PI=3.14;

int   PI=3.14;                                        //在即口中,这两个定义语句效果完全相同

Int   PI;                                                  //错误!在借口中必须指定初始值,在类中会有默认值

接口中所有方法都是抽象方法。接口中方法都自动用public  abstract修饰,即接口中只有全局抽象方法。

和抽象类一样,接口也不能实例化,接口中不能有构造方法。

接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但接口不能继承类。

接口的实现类必须实现接口的全部方法,否则必须定义为抽象类。

一个类只能有一个直接父类,但可以通过implements实现多个接口。当类在继承父类的同时又实现了多个接口时,extends关键字必须位于implements关键字之前。

接口与抽象类的区别在于:抽象类利用代码复用,接口利于代码维护。

在面向对象编程中提倡面向接口编程,而不是面向实现编程。

C#中定义接口的语法:[修饰符]     interface    接口名  :  父接口1、父接口2、……{

//属性定义

//方法定义

}

C#中实现接口的语法:class  类名  :   父类名  、接口1、接口2、……{       }

接口之间可以通过冒号“:”来实现继承关系,一个接口可以继承多个接口,但接口不能继承类。类只能继承一个父类,但可以实现多个接口,使用冒号“:”来继承类并实现接口。

接口定义零个或多个成员,成员主要是方法、属性和索引器。接口中不能包含常量、变量或构造方法,也不能包含任何静态成员。

接口IE口中成员访问权限是public,定义接口时显示指定任何修饰符都是非法的。

按照惯例,C#中接口的名称以大写字母“I”开头。

在Java与C#语言中,接口具有以下区别。

Java总接口通过extends来继承父接口,类通过implements实现接口;C#中通过冒号“:”来实现这两个功能。

Java接口中的成员变量(属性)都是常量,自动用public static final修饰;C#接口中不允许存在成员变量,但可以有属性。

Java接口中属性和方法都可以使用public修饰;C#中默认为public,但不允许显示使用public修饰。

Java接口中可以定义静态常量和方法,C#接口中不允许包含任何静态成员。

时间: 2024-10-18 01:18:34

S2/JAVA/04-接口的相关文章

Java comparable接口 对象排序

前面写了一篇文章是关于comparator的,那么comparable就必须拿出来做了分析对比. 关于这俩个接口的文章也比较多,本文着重从完整的代码示例去展现说明. OK 首先,还是看下Comparator这里接口的代码: public interface Comparable<T> { /** * Compares this object with the specified object for order. Returns a * negative integer, zero, or a

Java 函数式接口

目录 Java 函数式接口 1. 函数式接口 1.1 概念 1.2 格式 1.3 函数式接口的使用 2. 函数式编程 2.1 Lambda的延迟执行 2.2 使用Lambda作为方法的参数&返回值 3. 常用的函数式接口 3.1 Supplier<T>接口 3.2 Consumer<T>接口 3.3 Predicate<T>接口 3.4 Function<T, R>接口 Java 函数式接口 1. 函数式接口 1.1 概念 函数式接口:有且只有一个抽

java中接口中成员的定义

java中的接口的作用是提供编程框架,它作为统一的规范让其他类进行扩展,是java中非常优秀的设计. 这娃用以下代码总结了java中接口可以定义的成员以及它们默认被修饰的关键字: //外部接口的访问修饰符只能是public或默认修饰符 ,并且它的成员只能用public访问修饰符修饰, 接口不能用final修饰 public interface A { //成员变量,默认用public static final 修饰 String name="ahei"; //成员方法,默认用publi

java中接口的定义与实现

1.定义接口 使用interface来定义一个接口.接口定义同类的定义类似,也是分为接口的声明和接口体,当中接口体由常量定义和方法定义两部分组成.定义接口的基本格式例如以下: [修饰符] interface 接口名 [extends 父接口名列表]{ [public] [static] [final] 常量; [public] [abstract] 方法; } 修饰符:可选,用于指定接口的訪问权限,可选值为public.假设省略则使用默认的訪问权限. 接口名:必选參数,用于指定接口的名称,接口名

java中接口的使用

我们虽然写了两个文件,但是,两个文件中我们都是用了一个包mah. 我们可以在类中调用接口,看下面的例子 这是一个接口 [[email protected] java]# vim Output.java package mah; public interface Output { public static final int MAX_CACHE_LINE = 120; public abstract void out(); public abstract void getData(String

内功心法 -- Java标记接口

写在前面的话:读书破万卷,编码如有神--------------------------------------------------------------------这篇博客主要来谈谈"Java标记接口"的相关知识,主要内容包括: 1. 概述 2. Serializable 3. Cloneable 4. RandomAccess --------------------------------------------------------------------1.概述 Ja

深入理解Java的接口和抽象类(转)

深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然.今天我们就一起来学习一下Java中的接口和抽象类.下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 若有不正之处,请多多谅解并欢迎批评指正,不甚感激. 请尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.

java微信接口之四—上传素材

一.微信上传素材接口简介 1.请求:该请求是使用post提交地址为: https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=ACCESS_TOKEN 其中ACCESS_TOKEN是我们动态获取的. 发送的数据: {"articles":[ { "thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXC

java微信接口之五—消息分组群发

一.微信消息分组群发接口简介 1.请求:该请求是使用post提交地址为: https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=ACCESS_TOKEN   其中ACCESS_TOKEN是我们动态获取的.   发送的数据:(这里使用图文消息示例) { "filter":{ "group_id":"2" }, "mpnews":{ "me

(转载)深入理解java的接口和抽象类

本文转自地址:http://www.cnblogs.com/dolphin0520/p/3811437.html 作者:海子 出处:http://www.cnblogs.com/dolphin0520/ 深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然.今天我们就一起来学习一下Java中的接口和抽象类